From fd302adf08c4dbd5dde40ecb92ba476544028932 Mon Sep 17 00:00:00 2001 From: catvayor Date: Mon, 13 Jan 2025 18:54:09 +0100 Subject: [PATCH] feat(minecraft01): init --- machines/minecraft01/_configuration.nix | 16 ++++++++ .../minecraft01/_hardware-configuration.nix | 38 +++++++++++++++++++ machines/minecraft01/minecraft.nix | 16 ++++++++ machines/minecraft01/secrets/secrets.nix | 3 ++ meta/network.nix | 15 ++++++++ meta/nodes.nix | 8 ++++ 6 files changed, 96 insertions(+) create mode 100644 machines/minecraft01/_configuration.nix create mode 100644 machines/minecraft01/_hardware-configuration.nix create mode 100644 machines/minecraft01/minecraft.nix create mode 100644 machines/minecraft01/secrets/secrets.nix diff --git a/machines/minecraft01/_configuration.nix b/machines/minecraft01/_configuration.nix new file mode 100644 index 0000000..c1cf336 --- /dev/null +++ b/machines/minecraft01/_configuration.nix @@ -0,0 +1,16 @@ +{ lib, ... }: + +lib.extra.mkConfig { + enabledModules = [ + # List of modules to enable + ]; + + enabledServices = [ + # List of services to enable + "minecraft" + ]; + + extraConfig = { }; + + root = ./.; +} diff --git a/machines/minecraft01/_hardware-configuration.nix b/machines/minecraft01/_hardware-configuration.nix new file mode 100644 index 0000000..5a86bdd --- /dev/null +++ b/machines/minecraft01/_hardware-configuration.nix @@ -0,0 +1,38 @@ +{ lib, modulesPath, ... }: + +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + + boot = { + loader.systemd-boot.enable = true; + initrd.kernelModules = [ ]; + kernelModules = [ ]; + extraModulePackages = [ ]; + initrd.availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/c36ca087-a08f-4a1a-a28f-6ab044b84036"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/1759-C39E"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + networking.useDHCP = lib.mkDefault false; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/machines/minecraft01/minecraft.nix b/machines/minecraft01/minecraft.nix new file mode 100644 index 0000000..e7e2fe9 --- /dev/null +++ b/machines/minecraft01/minecraft.nix @@ -0,0 +1,16 @@ +{ + pkgs, + config, + lib, + ... +}: +{ + services.minecraft-server = { + enable = true; + eula = true; + openFirewall = true; + }; + systemd.services.minecraft-server.serviceConfig.ExecStart = lib.mkForce '' + ${pkgs.jre_headless}/bin/java -Xmx9G -jar ${config.services.minecraft-server.dataDir}/server.jar nogui + ''; +} diff --git a/machines/minecraft01/secrets/secrets.nix b/machines/minecraft01/secrets/secrets.nix new file mode 100644 index 0000000..142a59a --- /dev/null +++ b/machines/minecraft01/secrets/secrets.nix @@ -0,0 +1,3 @@ +(import ../../../keys).mkSecrets [ "minecraft01" ] [ + # List of secrets for minecraft01 +] diff --git a/meta/network.nix b/meta/network.nix index 4e69662..8b7598f 100644 --- a/meta/network.nix +++ b/meta/network.nix @@ -112,6 +112,21 @@ in hostId = "4a370ef4"; }; + + minecraft01 = { + interfaces.ens18 = { + ipv4 = [ + { + address = "129.199.146.46"; + prefixLength = 24; + } + ]; + gateways = [ "129.199.146.254" ]; + enableDefaultDNS = true; + }; + hostId = "f0b2c1cd"; + }; + router02 = { interfaces = { }; diff --git a/meta/nodes.nix b/meta/nodes.nix index bdb9857..409689e 100644 --- a/meta/nodes.nix +++ b/meta/nodes.nix @@ -72,6 +72,14 @@ in stateVersion = "24.05"; nixpkgs = "24.05"; }; + minecraft01 = { + site = "pav01"; + + hashedPassword = "$y$j9T$PK0/EpPoPNwCa8aDb/Zfb0$X2Q.QaoDa8WP4sxt7ubwdbxSdDZxJ1.jQWHaT18iZpD"; + + stateVersion = "24.11"; + nixpkgs = "unstable"; + }; photo01 = { site = "pav01";