home-manger: fix runtime closure

Without this fix a `nix-buid . -A home-manager` would successfully
create a `home-manager`. And one could use the included binary until
the next garbage collection, after that it would fail with an
error that it can not find the `home-manager` sources.

Similarily a `nix-copy-closure`d `home-manager` would fail with the
same error on the copies target machine.

This problem existed on both, the flake as well as the non-flake build
of `home-manager`.
This commit is contained in:
Norbert Melzer 2024-03-24 10:10:45 +01:00
parent bfa7c06436
commit 2e8e1d2f85
2 changed files with 10 additions and 4 deletions

View File

@ -1,6 +1,12 @@
{ pkgs ? import <nixpkgs> { } }:
rec {
let
path = builtins.path {
path = ./.;
name = "home-manager-source";
};
in rec {
docs = let releaseInfo = pkgs.lib.importJSON ./release.json;
in with import ./docs {
inherit pkgs;
@ -12,12 +18,12 @@ rec {
jsonModuleMaintainers = jsonModuleMaintainers; # Unstable, mainly for CI.
};
home-manager = pkgs.callPackage ./home-manager { path = toString ./.; };
home-manager = pkgs.callPackage ./home-manager { inherit path; };
install =
pkgs.callPackage ./home-manager/install.nix { inherit home-manager; };
nixos = import ./nixos;
path = ./.;
inherit path;
}

View File

@ -111,7 +111,7 @@
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
hmPkg = pkgs.callPackage ./home-manager { path = "${./.}"; };
hmPkg = pkgs.callPackage ./home-manager { path = "${self}"; };
testPackages = let
tests = import ./tests { inherit pkgs; };