{ config, lib, pkgs, ... }: { system.stateVersion = "26.05"; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; trusted-users = [ "@wheel" "deploy" ]; }; # deploy-rs SSHes in as `deploy` and uses sudo to activate. users.users.deploy = { isNormalUser = true; extraGroups = [ "wheel" ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJuB+MbW/YuXYGZ/lm6dp+aHJ1YqfaEkiqgj/Z6+cdd0 me@larsnolden.com" # developer machines key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB9LFaFbro5jU9jG0ZNn66FO61gniKfi865jS6TnZ+SU deploy" # deployment nodes key ]; }; security.sudo.wheelNeedsPassword = false; services.openssh = { enable = true; settings.PasswordAuthentication = false; }; networking.firewall.enable = true; time.timeZone = "UTC"; environment.systemPackages = with pkgs; [ vim curl jq ]; }