nixos-config/nixos/packages/programming/code.nix
2024-11-01 22:24:24 +01:00

128 lines
3.5 KiB
Nix

{
pkgs,
lib,
config,
...
}: {
options = {
vscode.enable = lib.mkEnableOption "enable vscode";
};
config = lib.mkIf config.vscode.enable {
home.packages = with pkgs; [
vscode
];
programs.vscode = {
enable = true;
userSettings = {
"files.autoSave"= "afterDelay";
"editor.fontSize" = 16;
"editor.minimap.side"= "right";
"editor.scrollbar.vertical"= "hidden";
"editor.scrollbar.verticalScrollbarSize"= 0;
"editor.fontLigatures"= "'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'liga'";
"editor.stickyScroll.enabled"= false;
"security.workspace.trust.untrustedFiles"= "newWindow";
"security.workspace.trust.startupPrompt"= "never";
"security.workspace.trust.enabled"= false;
"terminal.external.linuxExec"= "kitty";
"terminal.integrated.stickyScroll.enabled"= true;
"telemetry.telemetryLevel"= "off";
"workbench.activityBar.location"= "hidden"; # bottom
"workbench.iconTheme"= "material-icon-theme";
"workbench.productIconTheme"= "material-product-icons";
"window.menuBarVisibility"= "toggle";
"github.copilot.editor.enableAutoCompletions"= false;
"nix.serverPath"= "nixd";
"nix.enableLanguageServer"= true;
"nix.serverSettings" = {
"nixd" = {
"formatting"= {
"command"= [ "alejandra" ]; # or nixfmt or nixpkgs-fmt
};
# "options": {
# "nixos": {
# "expr": "(builtins.getFlake \"~/mysystem/").nixosConfigurations.laptop.options"
# },
# "home_manager": {
# "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options"
# },
# },
};
};
};
extensions = with pkgs.vscode-extensions; [
ms-azuretools.vscode-docker
# Mardown
yzhang.markdown-all-in-one
davidanson.vscode-markdownlint
foxundermoon.shell-format
tamasfe.even-better-toml
aaron-bond.better-comments
christian-kohler.path-intellisense
jnoortheen.nix-ide
github.vscode-pull-request-github
github.vscode-github-actions
github.codespaces
# Remote
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
# Webdev
ritwickdey.liveserver
esbenp.prettier-vscode
ecmel.vscode-html-css
ms-vscode.live-server
formulahendry.auto-rename-tag
# Ai
github.copilot
github.copilot-chat
# Git
donjayamanne.githistory
eamodio.gitlens
# Python
ms-python.python
ms-python.vscode-pylance
ms-python.black-formatter
ms-python.debugpy
njpwerner.autodocstring
ms-toolsai.jupyter
ms-toolsai.jupyter-keymap
ms-toolsai.jupyter-renderers
# Theme
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
zhuangtongfa.material-theme
oderwat.indent-rainbow
enkia.tokyo-night
pkief.material-product-icons
pkief.material-icon-theme
# C/C++
twxs.cmake
ms-vscode.cmake-tools
# C#
ms-dotnettools.csharp
ms-dotnettools.csdevkit
ms-dotnettools.vscodeintellicode-csharp
ms-dotnettools.vscode-dotnet-runtime
# Go
golang.go
];
};
};
}