ef168979bf
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.
33 lines
811 B
Nix
33 lines
811 B
Nix
{ lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
meta.maintainers = [ maintainers.rycee ];
|
|
|
|
options.submoduleSupport = {
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
internal = true;
|
|
description = ''
|
|
Whether the Home Manager module system is used as a submodule
|
|
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>.
|
|
'';
|
|
};
|
|
};
|
|
}
|