{ 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 [ ]); }