{lib, ...}: with lib; let admins = { nerf = { hashedPassword = "$y$j9T$SJcjUIcs3JYuM5oyxfEQa/$tUBQT07FK4cb9xm.A6ZKVnFIPNOYMOKC6Dt6hadCuJ7"; keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEdA4LpEGUUmN8esFyrNZXFb2GiBID9/S6zzhcnofQuP nerf@nerflap2" ]; }; gonne = { hashedPassword = "$6$EtGpHEcFkOi0yUWp$slXf0CvIUrhdqaoCrQ5YwtYu2IVuE1RGGst4fnDPRLWVm.lYx0ruvSAF2/vw/sLbW37ORJjlb0NHQ.kSG7cVY/"; keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFopCUadohY3wg9AoEup9TDRDMyEPSLsQoCnN4lsKCrr gonne@mathebau.de NixOS" ]; }; }; 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); }