{lib, ...} : with lib; let admins = { nerf = { hashedPassword = "$y$j9T$SJcjUIcs3JYuM5oyxfEQa/$tUBQT07FK4cb9xm.A6ZKVnFIPNOYMOKC6Dt6hadCuJ7"; keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEdA4LpEGUUmN8esFyrNZXFb2GiBID9/S6zzhcnofQuP nerf@nerflap2" ]; }; }; mkAdmin = name : {hashedPassword, keys}: { "${name}" = { isNormalUser = true; createHome = true; extraGroups = [ "wheel" ]; group = "users"; home = "/home/${name}"; openssh.authorizedKeys = { inherit keys; }; inherit hashedPassword; }; }; in { users.users = mkMerge (mapAttrsToList mkAdmin admins); }