diff --git a/flake.lock b/flake.lock index 9d160a58..c841c7eb 100644 --- a/flake.lock +++ b/flake.lock @@ -252,6 +252,26 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1785046085, + "narHash": "sha256-UiK+mmZJuLWQVhJ5b2wDzogIYWAesyRm6LA3h3Ulh3Y=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "11665045df8b9938ef811a3bfdc65cffb02b4b70", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nix2vim": { "inputs": { "flake-utils": "flake-utils_2", @@ -480,6 +500,7 @@ "home-manager": "home-manager", "mac-app-util": "mac-app-util", "nix-caddy-withplugins": "nix-caddy-withplugins", + "nix-index-database": "nix-index-database", "nix2vim": "nix2vim", "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs_6", diff --git a/flake.nix b/flake.nix index 30ab68a5..7de3a581 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nix-index-database = { + url = "github:nix-community/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # Convert Nix to Neovim config nix2vim = { url = "github:gytis-ivaskevicius/nix2vim"; diff --git a/lib/default.nix b/lib/default.nix index 60608f53..d5450708 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -154,6 +154,7 @@ lib pkgs = pkgsBySystem.${system}; modules = [ inputs.home-manager.nixosModules.home-manager + inputs.nix-index-database.nixosModules.default inputs.disko.nixosModules.disko inputs.wsl.nixosModules.wsl { imports = (nixFiles ../platforms/nixos); } @@ -179,6 +180,8 @@ lib inputs.darwin.lib.darwinSystem { inherit system specialArgs; modules = [ + inputs.home-manager.darwinModules.home-manager + inputs.nix-index-database.darwinModules.nix-index inputs.mac-app-util.darwinModules.default { imports = (nixFiles ../platforms/nix-darwin); @@ -223,6 +226,7 @@ lib pkgs = pkgsBySystem.${system}; modules = [ inputs.home-manager.nixosModules.home-manager + inputs.nix-index-database.homeModules.default inputs.disko.nixosModules.disko inputs.wsl.nixosModules.wsl { diff --git a/platforms/home-manager/modules/nmasur/presets/programs/nix-index.nix b/platforms/home-manager/modules/nmasur/presets/programs/nix-index.nix index 479b16ed..db74feaf 100644 --- a/platforms/home-manager/modules/nmasur/presets/programs/nix-index.nix +++ b/platforms/home-manager/modules/nmasur/presets/programs/nix-index.nix @@ -1,6 +1,6 @@ { config, - pkgs, + # pkgs, lib, ... }: @@ -23,17 +23,18 @@ in }; # Create nix-index if doesn't exist - home.activation.createNixIndex = - let - cacheDir = "${config.xdg.cacheHome}/nix-index"; - in - lib.mkIf config.programs.nix-index.enable ( - config.lib.dag.entryAfter [ "writeBoundary" ] '' - if [ ! -d ${cacheDir} ]; then - run ${pkgs.nix-index}/bin/nix-index -f ${pkgs.path} - fi - '' - ); + # Should not be necessary with the nix-index-database flake + # home.activation.createNixIndex = + # let + # cacheDir = "${config.xdg.cacheHome}/nix-index"; + # in + # lib.mkIf config.programs.nix-index.enable ( + # config.lib.dag.entryAfter [ "writeBoundary" ] '' + # if [ ! -d ${cacheDir} ]; then + # run ${pkgs.nix-index}/bin/nix-index -f ${pkgs.path} + # fi + # '' + # ); }; diff --git a/platforms/nixos/modules/nmasur/profiles/base.nix b/platforms/nixos/modules/nmasur/profiles/base.nix index 1d9820c0..b8619ac7 100644 --- a/platforms/nixos/modules/nmasur/profiles/base.nix +++ b/platforms/nixos/modules/nmasur/profiles/base.nix @@ -57,9 +57,10 @@ in ]; # Extending time for home-manager build for things like nix-index cache - systemd.services."home-manager-${username}" = { - serviceConfig.TimeoutStartSec = lib.mkForce "45m"; - }; + # Should not be necessary with nix-index-database flake + # systemd.services."home-manager-${username}" = { + # serviceConfig.TimeoutStartSec = lib.mkForce "45m"; + # }; allowUnfreePackages = config.home-manager.users.${username}.allowUnfreePackages;