diff --git a/features/neovim.nix b/features/neovim.nix index 6d03685..fb72a39 100644 --- a/features/neovim.nix +++ b/features/neovim.nix @@ -16,51 +16,54 @@ }; }; - config = { - # only disable when stylix is present (loaded by desktop feature) - stylix.targets.neovim.enable = lib.mkIf (options ? stylix) false; + config = lib.mkMerge [ + (lib.optionalAttrs (options ? stylix) { + # disable stylix neovim target when stylix is present (loaded by desktop feature) + stylix.targets.neovim.enable = false; + }) + { + xdg.configFile."nvim" = lib.mkIf (config.neovim.dotfiles != null) { + source = config.neovim.dotfiles; + }; - xdg.configFile."nvim" = lib.mkIf (config.neovim.dotfiles != null) { - source = config.neovim.dotfiles; - }; + programs.neovim = { + enable = true; + vimAlias = true; + defaultEditor = true; + package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; - programs.neovim = { - enable = true; - vimAlias = true; - defaultEditor = true; - package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; + extraPackages = with pkgs; [ + gcc + luajit + nodejs_22 + tree-sitter + gnumake + osc - extraPackages = with pkgs; [ - gcc - luajit - nodejs_22 - tree-sitter - gnumake - osc + fd + ripgrep + bat + delta - fd - ripgrep - bat - delta + pyright + typescript-language-server + lua-language-server + gopls + nil + nixd - pyright - typescript-language-server - lua-language-server - gopls - nil - nixd + nixpkgs-fmt + stylua + ]; - nixpkgs-fmt - stylua - ]; - - extraWrapperArgs = [ - "--suffix" - "LD_LIBRARY_PATH" - ":" - "${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" - ]; - }; - }; + extraWrapperArgs = [ + "--suffix" + "LD_LIBRARY_PATH" + ":" + "${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" + ]; + }; + } + ]; }; } diff --git a/flake/hosts.nix b/flake/hosts.nix index 1783e2c..c6332b9 100644 --- a/flake/hosts.nix +++ b/flake/hosts.nix @@ -84,6 +84,8 @@ in "vm-9p-automount" "docker" "neovim" + "claude" + "dev" ]; }; };