{ self, inputs, ... }: { flake.machines.tharos = { nixos = { lib, modulesPath, ... }: { # Kein Login für Nutzer die nicht explizit deklariert sind users.mutableUsers = false; users.users = lib.mapAttrs (username: keyFiles: { isNormalUser = true; openssh.authorizedKeys.keyFiles = keyFiles; # ANMERKUNG: Der Einfachheit halber sind bis auf Weiteres alle Nutzer mit SSH-Zugang auch Administratoren extraGroups = [ "wheel" ]; }) self.keys; /* `sudo` über SSH ohne Passworteingabe ANMERKUNG: Nutzer sollten in ihrem ` ~/.ssh/config` für die Maschine einstellen: ForwardAgent: yes */ security.pam.sshAgentAuth.enable = true; security.pam.services.sudo.sshAgentAuth = true; # Nur Administratoren können den angemeldeten Benutzer wechseln security.pam.services.su.requireWheel = true; networking.firewall.allowPing = true; services.openssh = { enable = true; settings = { PasswordAuthentication = false; PermitRootLogin = "prohibit-password"; }; }; }; }; }