{ self, ... }: { modulesPath, config, ... }: { imports = [ (modulesPath + "/virtualisation/lxc-container.nix") ../../users/root ../../users/erwin ]; eboskma = { users.erwin = { enable = true; server = true; }; nix-common = { enable = true; remote-builders = true; }; rust-motd.enable = true; tailscale.enable = true; }; boot = { isContainer = true; }; time.timeZone = "Europe/Amsterdam"; system.configurationRevision = self.inputs.nixpkgs.lib.mkIf (self ? rev) self.rev; networking = { hostName = "factorio"; useDHCP = false; useHostResolvConf = false; networkmanager.enable = false; useNetworkd = true; nftables.enable = true; firewall.trustedInterfaces = [ "tailscale0" ]; }; services = { factorio = { enable = true; game-name = "Blocks"; description = "It's cityblocks"; lan = true; openFirewall = true; saveName = "Blocks"; admins = [ "eboskma" ]; requireUserVerification = false; extraSettingsFile = config.sops.secrets.factorio-config.path; }; }; systemd = { services = { factorio.serviceConfig = { User = "factorio"; }; logrotate-checkconf.enable = false; }; network = { enable = true; wait-online.anyInterface = true; networks = { "40-eth0" = { matchConfig = { Name = "eth0"; }; networkConfig = { Address = "10.0.0.208/24"; Gateway = "10.0.0.1"; DNS = "10.0.0.206"; DHCP = "no"; }; }; }; }; }; security = { sudo-rs = { enable = true; execWheelOnly = true; wheelNeedsPassword = false; }; sudo.enable = false; }; sops.defaultSopsFile = ./secrets.yaml; sops.secrets = { factorio-config = { owner = "factorio"; group = "factorio"; }; }; system.stateVersion = "24.11"; }