diff --git a/bert/configuration.nix b/bert/configuration.nix index 8277e24..3814822 100644 --- a/bert/configuration.nix +++ b/bert/configuration.nix @@ -6,6 +6,7 @@ ./hardware-configuration.nix ./services/factorio.nix ./services/http/index.nix + ./services/minecraft.nix ./services/monitoring.nix ./services/forgejo.nix ./services/navidrome.nix diff --git a/bert/services/factorio.nix b/bert/services/factorio.nix index b6291ac..14747ff 100644 --- a/bert/services/factorio.nix +++ b/bert/services/factorio.nix @@ -4,7 +4,7 @@ ]; services.factorio = { enable = true; - package = (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/aa2922b69f0245008d93e9edf9f34894db724d89.tar.gz") { + package = (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/348ec8c846cce39c467cac90ddbbc9ce9bf61bd8.tar.gz") { config.allowUnfree = true; }).factorio-headless; openFirewall = true; diff --git a/bert/services/minecraft.nix b/bert/services/minecraft.nix new file mode 100644 index 0000000..962ea77 --- /dev/null +++ b/bert/services/minecraft.nix @@ -0,0 +1,25 @@ +{ + services.minecraft-server = { + enable = true; + package = (import { + config.allowUnfree = true; + }).minecraft-server; + declarative = true; + eula = true; + dataDir = "/srv/minecraft"; + openFirewall = true; + whitelist = { + # https://minecraft.wiki/w/Server#Whitelist + chandlerswift = "1d933b23-bdf9-4f24-9c4c-e916b5df9f97"; + villlater = "ac160fee-e611-4a7c-b0a8-04cb1bbe850b"; + LarryHorton = "7d62d1dc-5998-4880-ba6f-c3a7021b8fd5"; + IsaacSwift = "a4291b69-4412-4c3e-bdbf-a9157f2a3df7"; + MaterialG0rLz = "63cf3db9-1771-454d-a9a9-75b202cc68df"; # Emily + Mayornnaise = "3e93628f-eaeb-4fe3-9adc-88709e1d4ced"; # Jacob + Ripptide66 = "67f7d5e9-739e-46f9-99a6-a3a6d99a2b04"; # Hunter + RowdyPancake = "ebdc4a28-4855-4bc9-bd8f-1624b4f587fa"; # Andrew + shalo123 = "5f34483c-40b4-4a68-a95d-5429f1f7711c"; # Jeff + }; + serverProperties.white-list = true; + }; +} diff --git a/bigbird/backups.nix b/bigbird/backups.nix new file mode 100644 index 0000000..c6735e8 --- /dev/null +++ b/bigbird/backups.nix @@ -0,0 +1,28 @@ +{pkgs, ...}: { + services.restic.server = { + enable = true; + prometheus = true; + privateRepos = true; + dataDir = "/nas/chandler/backups/restic"; + appendOnly = true; + extraFlags = [ + "--prometheus-no-auth" + ]; + }; + services.restic.backups = { + remotebackup = { + initialize = true; + environmentFile = "/etc/secrets/restic_env"; + passwordFile = "/etc/secrets/restic_pass"; + paths = [ + "/" + ]; + repository = "rest:http://bigbird:8000/bert/"; #"b2:chandlerswift-bert-backup/"; + pruneOpts = [ + "--keep-daily 7" + "--keep-weekly 5" + "--keep-monthly 12" + ]; + }; + }; +} diff --git a/bigbird/configuration.nix b/bigbird/configuration.nix index 0bac923..ac7ed56 100644 --- a/bigbird/configuration.nix +++ b/bigbird/configuration.nix @@ -4,6 +4,7 @@ [ # Include the results of the hardware scan. # ./hardware-configuration.nix + ./backups.nix ./kathe.nix ./smb.nix ]; @@ -31,6 +32,7 @@ environment.systemPackages = with pkgs; [ vim rsync + tmux ]; services.openssh.enable = true; @@ -49,7 +51,7 @@ }; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ 8000 ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # networking.firewall.enable = false; diff --git a/oscar/configuration.nix b/oscar/configuration.nix index 44c472b..6cb71c6 100644 --- a/oscar/configuration.nix +++ b/oscar/configuration.nix @@ -178,7 +178,7 @@ # Unfree: discord - (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/aa2922b69f0245008d93e9edf9f34894db724d89.tar.gz") { + (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/348ec8c846cce39c467cac90ddbbc9ce9bf61bd8.tar.gz") { config.allowUnfree = true; }).factorio-space-age ];