Compare commits
2 Commits
3026897113
...
a766e67fec
| Author | SHA1 | Date | |
|---|---|---|---|
|
a766e67fec
|
|||
|
fdb1b559bc
|
@@ -119,7 +119,6 @@
|
||||
https = {
|
||||
certs = services_dir + "/http_certs";
|
||||
domain = "gardling.com";
|
||||
wg_ip = "192.168.15.1";
|
||||
};
|
||||
|
||||
gitea = {
|
||||
@@ -224,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
|
||||
|
||||
@@ -26,6 +26,6 @@
|
||||
|
||||
services.caddy.virtualHosts."bitmagnet.${service_configs.https.domain}".extraConfig = ''
|
||||
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}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
environment = {
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
services.caddy.virtualHosts."torrent.${service_configs.https.domain}".extraConfig = ''
|
||||
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 = [
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user