nixos module: support NixOS user packages install
When using the NixOS module we cannot guarantee that the Nix store
will be writable during startup. Installing the user packages through
`nix-env -i` will fail in these cases.
This commit adds a NixOS option `home-manager.useUserPackages` that,
when enabled, installs user packages through the NixOS
users.users.<name?>.packages
option.
Note, when submodule support and external package install is enabled
then the installed packages are not available in `~/.nix-profile`. We
therefore set `home.profileDirectory` directly to the HM profile
packages.
This commit is contained in:
parent
2093cf425f
commit
ef168979bf
4 changed files with 82 additions and 9 deletions
|
|
@ -966,6 +966,24 @@ in
|
|||
as an Emacs daemon.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2019-02-16T20:33:56+00:00";
|
||||
condition = hostPlatform.isLinux;
|
||||
message = ''
|
||||
When using Home Manager as a NixOS submodule it is now
|
||||
possible to install packages using the NixOS
|
||||
|
||||
users.users.<name?>.packages
|
||||
|
||||
option. This is enabled by adding
|
||||
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
to your NixOS system configuration. This mode of operation
|
||||
is necessary if you want to use 'nixos-rebuild build-vm'.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,5 +15,18 @@ with lib;
|
|||
in, for example, NixOS or nix-darwin.
|
||||
'';
|
||||
};
|
||||
|
||||
externalPackageInstall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
internal = true;
|
||||
description = ''
|
||||
Whether the packages of <option>home.packages</option> are
|
||||
installed separately from the Home Manager activation script.
|
||||
In NixOS, for example, this may be accomplished by installing
|
||||
the packages through
|
||||
<option>users.users.<name?>.packages</option>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue