diff --git a/flake-modules/nixos-modules.nix b/flake-modules/nixos-modules.nix index 1422669..2e98ee4 100644 --- a/flake-modules/nixos-modules.nix +++ b/flake-modules/nixos-modules.nix @@ -2,12 +2,17 @@ { flake.nixosModules = let - nvim-config = { - imports = [ - inputs.nixvim.homeManagerModules.nixvim - ../nvim - ]; - }; + nvim-config = + { pkgs, ... }: + { + imports = [ + inputs.nixvim.homeManagerModules.nixvim + (import ../nvim { + inherit (inputs) unstable; + inherit (pkgs) system; + }) + ]; + }; homeManagerModuleSandalone = import ../home { inherit nvim-config; inherit (inputs) stylix; diff --git a/flake-modules/nvim.nix b/flake-modules/nvim.nix index 7e5e988..78a6732 100644 --- a/flake-modules/nvim.nix +++ b/flake-modules/nvim.nix @@ -3,19 +3,20 @@ flake.overlays.nixvim = inputs.nixvim.overlays.default; perSystem = - { lib, system, ... }: + { pkgs, system, ... }: let nixvimLib = inputs.nixvim.lib.${system}; nixvim = inputs.nixvim.legacyPackages.${system}; testNvimModule = nixvimLib.check.mkTestDerivationFromNixvimModule; nvimModule = extraConfig: { - pkgs = inputs.unstable.legacyPackages.${system}; + inherit pkgs; + extraSpecialArgs = { + inherit (inputs) unstable; + inherit system; + }; module = { - imports = [ ../nvim/standalone.nix ]; - config = lib.mkMerge [ - { performance.combinePlugins.enable = true; } - extraConfig - ]; + imports = [ (import ../nvim/standalone.nix { standalone = true; }) ]; + config = extraConfig; }; }; moduleDev = nvimModule { }; diff --git a/flake.lock b/flake.lock index bcfaabe..6cf149f 100644 --- a/flake.lock +++ b/flake.lock @@ -281,11 +281,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737165118, - "narHash": "sha256-s40Kk/OulP3J/1JvC3VT16U4r/Xw6Qdi7SRw3LYkPWs=", + "lastModified": 1736916166, + "narHash": "sha256-puPDoVKxkuNmYIGMpMQiK8bEjaACcCksolsG36gdaNQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6a3ae7a5a12fb8cac2d59d7df7cbd95f9b2f0566", + "rev": "e24b4c09e963677b1beea49d411cd315a024ad3a", "type": "github" }, "original": { @@ -316,11 +316,11 @@ ] }, "locked": { - "lastModified": 1737200978, - "narHash": "sha256-QTUx/F8HVjrRIHQxHKrr72aPMj+cDk18WTbvBCCBBdI=", + "lastModified": 1737143193, + "narHash": "sha256-+/BdPFrdJpgmzrMEUZMxsLeND8IvFtjyZbxHX2XrNv4=", "owner": "nix-community", "repo": "nixvim", - "rev": "cbf960e5659054b2ccf27b67218782e69016bef5", + "rev": "aa839cf994f6b9a6b38e755597452087beac0567", "type": "github" }, "original": { diff --git a/nvim/default.nix b/nvim/default.nix index 9a9b212..852db55 100644 --- a/nvim/default.nix +++ b/nvim/default.nix @@ -1,3 +1,4 @@ +{ system, unstable }: { lib, config, ... }: let cfg = config.jhome.nvim; @@ -6,8 +7,9 @@ in imports = [ ./options.nix ]; config.programs.nixvim = lib.mkMerge [ - (import ./standalone.nix) + (import ./standalone.nix { standalone = false; }) (lib.mkIf cfg.enable { + nixpkgs = lib.mkForce { pkgs = import unstable { inherit system; }; }; enable = true; defaultEditor = lib.mkDefault true; jhome.nvim = cfg; diff --git a/nvim/dev-plugins.nix b/nvim/dev-plugins.nix index 7659912..682f400 100644 --- a/nvim/dev-plugins.nix +++ b/nvim/dev-plugins.nix @@ -15,6 +15,7 @@ let # "html" # Not writing html "jsonls" "marksman" + "nixd" "ruff" "taplo" # "texlab" # Not using it diff --git a/nvim/standalone.nix b/nvim/standalone.nix index 8e25d9e..c8184b1 100644 --- a/nvim/standalone.nix +++ b/nvim/standalone.nix @@ -1,4 +1,11 @@ -{ pkgs, ... }: +{ standalone }: +{ + pkgs, + system, + unstable, + lib, + ... +}: { imports = [ ./options.nix @@ -10,6 +17,7 @@ config = { withRuby = false; + nixpkgs = lib.optionalAttrs standalone { pkgs = unstable.legacyPackages.${system}; }; globals.mapleader = " "; # Appearance colorschemes.gruvbox = { @@ -42,6 +50,7 @@ # Enable local configuration :h 'exrc' exrc = true; # safe since nvim 0.9 }; + performance.combinePlugins.enable = true; extraPlugins = let plugins = pkgs.vimPlugins;