{ self, ... }: { config.flake.factory.user = username: isAdmin: { nixos."${username}" = { lib , pkgs , ... }: { users.users."${username}" = { isNormalUser = true; home = "/home/${username}"; extraGroups = lib.optionals isAdmin [ "wheel" ]; shell = pkgs.zsh; }; programs.zsh.enable = true; # required for zsh completion environment.pathsToLink = [ "/share/zsh" ]; home-manager.users."${username}" = { imports = [ self.modules.homeManager."${username}" ]; }; }; homeManager."${username}" = { home.username = "${username}"; }; }; }