diff options
Diffstat (limited to 'modules/home/code.nix')
| -rw-r--r-- | modules/home/code.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/modules/home/code.nix b/modules/home/code.nix new file mode 100644 index 0000000..053d550 --- /dev/null +++ b/modules/home/code.nix @@ -0,0 +1,72 @@ +{ + pkgs, + unstablePkgs, + lib, + ... +}: + +let + settings = import ./../../configs/vscode/settings.nix { inherit pkgs lib; }; + keybindings = import ./../../configs/vscode/keybindings.nix { }; + + extensions = with unstablePkgs.vscode-extensions; [ + # Microsoft vendor extensions + ms-vscode.hexeditor + ms-vscode-remote.remote-containers + ms-vscode-remote.remote-ssh + ms-azuretools.vscode-docker + github.codespaces + + # Usability + vscodevim.vim + waderyan.gitblame + mkhl.direnv + alefragnani.bookmarks + + # Language support + ms-vscode.makefile-tools + ms-vscode.cpptools-extension-pack + mesonbuild.mesonbuild + ms-python.python + ms-python.debugpy + charliermarsh.ruff + golang.go + jnoortheen.nix-ide + rust-lang.rust-analyzer + haskell.haskell + justusadam.language-haskell + elixir-lsp.vscode-elixir-ls + + # Pretty :3 + aaron-bond.better-comments + catppuccin.catppuccin-vsc-icons + catppuccin.catppuccin-vsc + jdinhlife.gruvbox + ]; + + externalExtensions = with pkgs.open-vsx; [ + # Small extensions that aren't included in nixpkgs + geequlim.godot-tools + miguelsolorio.fluent-icons + tonybaloney.vscode-pets + ]; + + newVendorExtensions = with pkgs.vscode-marketplace; [ + # Quick editing and viewing of ad-hoc repos and pull request + ms-vscode.remote-repositories + github.remotehub + ]; +in +{ + programs.vscode = { + enable = true; + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + mutableExtensionsDir = false; + package = unstablePkgs.vscodium; + + extensions = extensions ++ externalExtensions ++ newVendorExtensions; + keybindings = keybindings; + userSettings = settings; + }; +} |
