nixos/modules/core/home-manager.nix

44 lines
981 B
Nix

{
config,
host,
inputs,
homePath,
profile,
username,
...
}:
let
zshCfg = config.modules.zsh;
in
{
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {
inherit
host
inputs
profile
username
;
};
users.${username} = {
imports = [ homePath ];
modules.gpg.signingKey = config.modules.gpg.signingKey;
modules.display.scale = config.modules.display.scale;
};
};
environment.pathsToLink =
# Since Home Manager is installed via its NixOS module, we need to add this so that
# the portal definitions and DE provided configurations get linked
[
"/share/applications"
"/share/xdg-desktop-portal"
]
# Needed to get completion for system packages (e.g. systemd)
++ (if zshCfg.enable then [ "/share/zsh" ] else [ ]);
}