From e703f3a7ffee32fc2c7bd7cf1129846d3411fe56 Mon Sep 17 00:00:00 2001 From: Mel Date: Tue, 14 Jan 2025 22:13:14 +0100 Subject: Fully configure VSCode Signed-off-by: Mel --- modules/code.nix | 61 ----------------------------------------- modules/common.nix | 1 - modules/home/code.nix | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ modules/home/common.nix | 4 +++ 4 files changed, 76 insertions(+), 62 deletions(-) delete mode 100644 modules/code.nix create mode 100644 modules/home/code.nix (limited to 'modules') diff --git a/modules/code.nix b/modules/code.nix deleted file mode 100644 index 506e0bd..0000000 --- a/modules/code.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ pkgs, unstablePkgs, ... }: - -let - 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 - ]; - - code = - with unstablePkgs; - vscode-with-extensions.override { - vscode = vscodium; - vscodeExtensions = extensions ++ externalExtensions ++ newVendorExtensions; - }; -in -{ - environment.systemPackages = [ code ]; -} diff --git a/modules/common.nix b/modules/common.nix index 00fc46a..dbc4efc 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -5,7 +5,6 @@ ./nix.nix ./user.nix ./locale.nix - ./code.nix ./vim.nix ./tmux.nix ./gnome.nix 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; + }; +} diff --git a/modules/home/common.nix b/modules/home/common.nix index 99900e6..7e10560 100644 --- a/modules/home/common.nix +++ b/modules/home/common.nix @@ -1,6 +1,10 @@ { ... }: { + imports = [ + ./code.nix + ]; + programs = { git = { enable = true; -- cgit 1.4.1