Compare commits

..

2 Commits

Author SHA1 Message Date
a766e67fec cleanup minecraft test 2026-01-22 22:40:40 -05:00
fdb1b559bc wg: don't hardcode namespaceAddress 2026-01-22 14:56:36 -05:00
6 changed files with 27 additions and 46 deletions

View File

@@ -119,7 +119,6 @@
https = { https = {
certs = services_dir + "/http_certs"; certs = services_dir + "/http_certs";
domain = "gardling.com"; domain = "gardling.com";
wg_ip = "192.168.15.1";
}; };
gitea = { gitea = {
@@ -224,6 +223,11 @@
nix-minecraft.overlay nix-minecraft.overlay
(import ./modules/overlays.nix) (import ./modules/overlays.nix)
]; ];
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (nixpkgs.lib.getName pkg) [
"minecraft-server"
];
} }
lanzaboote.nixosModules.lanzaboote lanzaboote.nixosModules.lanzaboote

View File

@@ -26,6 +26,6 @@
services.caddy.virtualHosts."bitmagnet.${service_configs.https.domain}".extraConfig = '' services.caddy.virtualHosts."bitmagnet.${service_configs.https.domain}".extraConfig = ''
import ${config.age.secrets.caddy_auth.path} import ${config.age.secrets.caddy_auth.path}
reverse_proxy ${service_configs.https.wg_ip}:${builtins.toString service_configs.ports.bitmagnet} reverse_proxy ${config.vpnNamespaces.wg.namespaceAddress}:${builtins.toString service_configs.ports.bitmagnet}
''; '';
} }

View File

@@ -44,7 +44,7 @@
environment = { environment = {
JELLYFIN_URL = "http://localhost:${builtins.toString service_configs.ports.jellyfin}"; JELLYFIN_URL = "http://localhost:${builtins.toString service_configs.ports.jellyfin}";
QBITTORRENT_URL = "http://${service_configs.https.wg_ip}:${builtins.toString service_configs.ports.torrent}"; QBITTORRENT_URL = "http://${config.vpnNamespaces.wg.namespaceAddress}:${builtins.toString service_configs.ports.torrent}";
CHECK_INTERVAL = "30"; CHECK_INTERVAL = "30";
}; };
}; };

View File

@@ -17,19 +17,6 @@
inputs.nix-minecraft.nixosModules.minecraft-servers 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 = { services.minecraft-servers = {
enable = true; enable = true;
eula = true; eula = true;

View File

@@ -104,7 +104,7 @@
services.caddy.virtualHosts."torrent.${service_configs.https.domain}".extraConfig = '' services.caddy.virtualHosts."torrent.${service_configs.https.domain}".extraConfig = ''
import ${config.age.secrets.caddy_auth.path} import ${config.age.secrets.caddy_auth.path}
reverse_proxy ${service_configs.https.wg_ip}:${builtins.toString config.services.qbittorrent.webuiPort} reverse_proxy ${config.vpnNamespaces.wg.namespaceAddress}:${builtins.toString config.services.qbittorrent.webuiPort}
''; '';
users.users.${config.services.qbittorrent.user}.extraGroups = [ users.users.${config.services.qbittorrent.user}.extraGroups = [

View File

@@ -6,25 +6,7 @@
... ...
}: }:
let let
# Create pkgs with nix-minecraft overlay and unfree packages allowed testServiceConfigs = {
testPkgs = import inputs.nixpkgs {
system = pkgs.stdenv.targetPlatform.system;
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "minecraft-server" ];
overlays = [
inputs.nix-minecraft.overlay
(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 = { minecraft = {
server_name = "main"; server_name = "main";
parent_dir = "/var/lib/minecraft"; parent_dir = "/var/lib/minecraft";
@@ -34,23 +16,31 @@ let
}; };
zpool_ssds = ""; zpool_ssds = "";
}; };
username = "testuser";
}) # Create pkgs with nix-minecraft overlay and unfree packages allowed
testPkgs = import inputs.nixpkgs {
system = pkgs.stdenv.targetPlatform.system;
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "minecraft-server" ];
overlays = [
inputs.nix-minecraft.overlay
(import ../modules/overlays.nix)
]; ];
# Override nixpkgs config to prevent conflicts in test environment
nixpkgs.config = lib.mkForce {
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "minecraft-server" ];
};
}; };
in in
testPkgs.testers.runNixOSTest { testPkgs.testers.runNixOSTest {
name = "minecraft server startup test"; name = "minecraft server startup test";
node.specialArgs = {
inherit inputs lib;
service_configs = testServiceConfigs;
username = "testuser";
};
nodes.machine = nodes.machine =
{ ... }: { lib, ... }:
{ {
imports = [ imports = [
minecraftService ../services/minecraft.nix
]; ];
# Enable caddy service (required by minecraft service) # Enable caddy service (required by minecraft service)