diff --git a/modules/programs/home-manager.nix b/modules/programs/home-manager.nix index 31b580530..696607173 100644 --- a/modules/programs/home-manager.nix +++ b/modules/programs/home-manager.nix @@ -25,10 +25,20 @@ in {file}`$HOME/.nixpkgs/home-manager` will be attempted. ''; }; + + package = lib.mkOption { + type = lib.types.package; + readOnly = true; + description = "The {command}`home-manager` package."; + default = pkgs.callPackage ../../home-manager { inherit (cfg) path; }; + defaultText = lib.literalExpression '' + pkgs.callPackage ../../home-manager { inherit (config.programs.home-manager) path; }; + ''; + }; }; }; config = lib.mkIf (cfg.enable && !config.submoduleSupport.enable) { - home.packages = [ (pkgs.callPackage ../../home-manager { inherit (cfg) path; }) ]; + home.packages = [ cfg.package ]; }; } diff --git a/modules/services/home-manager-auto-expire.nix b/modules/services/home-manager-auto-expire.nix index 2f98d2051..4f745370a 100644 --- a/modules/services/home-manager-auto-expire.nix +++ b/modules/services/home-manager-auto-expire.nix @@ -9,9 +9,7 @@ let cfg = config.services.home-manager.autoExpire; - homeManagerPackage = pkgs.callPackage ../../home-manager { - path = config.programs.home-manager.path; - }; + homeManagerPackage = config.programs.home-manager.package; script = pkgs.writeShellScript "home-manager-auto-expire" ( '' diff --git a/modules/services/home-manager-auto-upgrade.nix b/modules/services/home-manager-auto-upgrade.nix index 41cea2be2..d0ae6141a 100644 --- a/modules/services/home-manager-auto-upgrade.nix +++ b/modules/services/home-manager-auto-upgrade.nix @@ -9,9 +9,7 @@ let cfg = config.services.home-manager.autoUpgrade; - homeManagerPackage = pkgs.callPackage ../../home-manager { - path = config.programs.home-manager.path; - }; + homeManagerPackage = config.programs.home-manager.package; autoUpgradeApp = pkgs.writeShellApplication { name = "home-manager-auto-upgrade";