diff --git a/flake.nix b/flake.nix index 29e069c..c867667 100644 --- a/flake.nix +++ b/flake.nix @@ -223,6 +223,11 @@ nix-minecraft.overlay (import ./modules/overlays.nix) ]; + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (nixpkgs.lib.getName pkg) [ + "minecraft-server" + ]; } lanzaboote.nixosModules.lanzaboote diff --git a/services/minecraft.nix b/services/minecraft.nix index ed8eac2..ea35718 100644 --- a/services/minecraft.nix +++ b/services/minecraft.nix @@ -17,19 +17,6 @@ inputs.nix-minecraft.nixosModules.minecraft-servers ]; - environment.systemPackages = [ - (pkgs.writeScriptBin "mc-console" '' - #!/bin/sh - ${pkgs.tmux}/bin/tmux -S /run/minecraft/${service_configs.minecraft.server_name}.sock attach - '') - ]; - - nixpkgs.config.allowUnfreePredicate = - pkg: - builtins.elem (lib.getName pkg) [ - "minecraft-server" - ]; - services.minecraft-servers = { enable = true; eula = true; diff --git a/tests/minecraft.nix b/tests/minecraft.nix index cac381b..020abc4 100644 --- a/tests/minecraft.nix +++ b/tests/minecraft.nix @@ -6,6 +6,17 @@ ... }: let + testServiceConfigs = { + minecraft = { + server_name = "main"; + parent_dir = "/var/lib/minecraft"; + }; + https = { + domain = "test.local"; + }; + zpool_ssds = ""; + }; + # Create pkgs with nix-minecraft overlay and unfree packages allowed testPkgs = import inputs.nixpkgs { system = pkgs.stdenv.targetPlatform.system; @@ -15,42 +26,21 @@ let (import ../modules/overlays.nix) ]; }; - - # Create a wrapper module that imports the actual minecraft service - minecraftService = - { config, ... }: - { - imports = [ - (import ../services/minecraft.nix { - inherit lib config inputs; - pkgs = testPkgs; - service_configs = { - minecraft = { - server_name = "main"; - parent_dir = "/var/lib/minecraft"; - }; - https = { - domain = "test.local"; - }; - zpool_ssds = ""; - }; - username = "testuser"; - }) - ]; - # Override nixpkgs config to prevent conflicts in test environment - nixpkgs.config = lib.mkForce { - allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "minecraft-server" ]; - }; - }; in testPkgs.testers.runNixOSTest { name = "minecraft server startup test"; + node.specialArgs = { + inherit inputs lib; + service_configs = testServiceConfigs; + username = "testuser"; + }; + nodes.machine = - { ... }: + { lib, ... }: { imports = [ - minecraftService + ../services/minecraft.nix ]; # Enable caddy service (required by minecraft service)