{ inputs, outputs, lib, pkgs, ... }: { i18n.defaultLocale = "en_US.UTF-8"; time.timeZone = "UTC"; nix = { package = pkgs.nixVersions.latest; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; settings = { keep-outputs = false; keep-derivations = false; auto-optimise-store = true; trusted-users = [ "@wheel" ]; experimental-features = [ "nix-command" "flakes" ]; }; }; nixpkgs = { overlays = builtins.attrValues outputs.overlays; config = { allowUnfree = lib.mkForce false; allowBroken = lib.mkForce false; }; }; networking = { domain = "lostduk.com"; useDHCP = true; enableIPv6 = lib.mkForce false; firewall = { enable = lib.mkForce true; allowPing = lib.mkForce false; allowedTCPPorts = []; allowedUDPPorts = []; }; }; services = { pcscd.enable = true; openssh = { enable = true; settings = { PermitRootLogin = "no"; PasswordAuthentication = false; KbdInteractiveAuthentication = false; }; hostKeys = [{ path = "/persist/etc/ssh/ssh_host_ed25519_key"; type = "ed25519"; }]; }; }; security = { protectKernelImage = true; audit = { enable = true; rules = [ "-a exit,always, -F arch=b64 -S execve" ]; }; sudo = { execWheelOnly = true; wheelNeedsPassword = lib.mkForce true; }; auditd.enable = true; pam.enableSSHAgentAuth = true; }; users = { mutableUsers = lib.mkForce false; users.root.hashedPassword = lib.mkForce "!"; }; environment.defaultPackages = lib.mkForce []; }