2026-02-14 19:21:25 -05:00
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
userName,
|
2026-02-15 19:05:42 -05:00
|
|
|
vintage-story,
|
2026-02-14 19:21:25 -05:00
|
|
|
...
|
|
|
|
|
}: {
|
|
|
|
|
imports = [
|
|
|
|
|
../../pwrMgmt
|
|
|
|
|
../../networking/core.nix
|
|
|
|
|
../../virtualization/podman.nix
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
# Enable flakes for NixOS
|
|
|
|
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
|
|
|
|
|
|
|
|
|
# Custom kernel/boot stuff
|
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
|
|
|
|
|
|
# Set your timezone
|
|
|
|
|
time.timeZone = "America/Detroit";
|
|
|
|
|
|
|
|
|
|
# Enable OpenSSH
|
|
|
|
|
services.openssh.enable = true;
|
|
|
|
|
|
|
|
|
|
# Enable keyring
|
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
|
|
|
|
|
|
# Enable GnuPG
|
|
|
|
|
programs.gnupg.agent = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableSSHSupport = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Enable SUID wrappers (some programs need them)
|
|
|
|
|
programs.mtr.enable = true;
|
|
|
|
|
|
|
|
|
|
# Enable Polkit
|
|
|
|
|
security.polkit.enable = true;
|
|
|
|
|
|
|
|
|
|
# Power management (see ../../pwrMgmt/default.nix)
|
|
|
|
|
pwrMgmt = {
|
|
|
|
|
enable = true;
|
|
|
|
|
cpuFreqGovernor = "performance";
|
|
|
|
|
powertop.enable = false;
|
|
|
|
|
};
|
|
|
|
|
|
2026-02-15 19:05:42 -05:00
|
|
|
network = {
|
2026-02-14 19:21:25 -05:00
|
|
|
firewall = {
|
|
|
|
|
enable = true;
|
|
|
|
|
tcpPorts = {
|
|
|
|
|
allowedPorts = [ 42420 ];
|
|
|
|
|
};
|
|
|
|
|
udpPorts = {
|
|
|
|
|
allowedPorts = [ 42420 ];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
networkManager.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
2026-02-15 19:05:42 -05:00
|
|
|
environment.systemPackages = [
|
|
|
|
|
vintage-story.packages.${pkgs.system}.default
|
|
|
|
|
];
|
|
|
|
|
|
2026-02-14 19:21:25 -05:00
|
|
|
# Add username to groups "wheel" and "video" - more may be added here later
|
2026-02-25 20:09:06 -05:00
|
|
|
users.users.${userName} = {
|
|
|
|
|
extraGroups = ["wheel" "podman" "network"];
|
|
|
|
|
openssh.authorizedKeys.keys = [
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO4WKvKnnYpTbzZHFEslOKyfiiMqWxhW3AfX6E7ACmYU wyatt@wyattjmiller.com"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
services.fail2ban = {
|
|
|
|
|
enable = true;
|
|
|
|
|
package = pkgs.fail2ban;
|
|
|
|
|
maxretry = 5;
|
|
|
|
|
bantime = "3h";
|
|
|
|
|
bantime-increment = {
|
|
|
|
|
enable = true;
|
|
|
|
|
rndtime = "10m";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
services.tailscale = {
|
|
|
|
|
enable = true;
|
|
|
|
|
package = pkgs.tailscale;
|
|
|
|
|
};
|
2026-02-14 19:21:25 -05:00
|
|
|
|
|
|
|
|
system.stateVersion = "24.11";
|
|
|
|
|
}
|