{ flake, userName, config, lib, utils, ... }: { config = { users.users.${userName} = {}; # Just make sure the user is created home-manager.users.${userName} = { imports = lib.attrValues flake.homeModules; config = { manual.manpages.enable = true; home.stateVersion = "20.09"; systemd.user.startServices = "sd-switch"; }; }; systemd.services."home-manager-${utils.escapeSystemdPath userName}" = lib.mkIf (!config.home-manager.enableSystemd) { restartIfChanged = false; # only run once on startup, deploy to running system with deploy-rs }; }; }