wog: World of Guildhall at wog.nordhammer.it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
c5471ab7cd
commit
dd6f17c335
6 changed files with 53 additions and 0 deletions
|
|
@ -128,6 +128,7 @@ in
|
||||||
./services/flowtrack.nix
|
./services/flowtrack.nix
|
||||||
./services/guildhall.nix
|
./services/guildhall.nix
|
||||||
./services/guildhall-join.nix
|
./services/guildhall-join.nix
|
||||||
|
./services/wog.nix
|
||||||
./services/hardware-health.nix
|
./services/hardware-health.nix
|
||||||
./services/wan-watchdog.nix
|
./services/wan-watchdog.nix
|
||||||
./services/tv-detox.nix
|
./services/tv-detox.nix
|
||||||
|
|
|
||||||
21
flake.lock
generated
21
flake.lock
generated
|
|
@ -502,6 +502,7 @@
|
||||||
"redlib": "redlib",
|
"redlib": "redlib",
|
||||||
"stardew-tracker": "stardew-tracker",
|
"stardew-tracker": "stardew-tracker",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
|
"wog": "wog",
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -659,6 +660,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"wog": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1792792362,
|
||||||
|
"narHash": "sha256-7DYScQSd/DzW9PpKWeDMc8BN+MVLhtv4PLodSYJ9tpY=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "71dd99795a28f681f8ac3c48cff3f2cf8606c75e",
|
||||||
|
"revCount": 1,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://forg.gregersen.it/rope/wog"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://forg.gregersen.it/rope/wog"
|
||||||
|
}
|
||||||
|
},
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": [
|
"home-manager": [
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,11 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wog = {
|
||||||
|
url = "git+https://forg.gregersen.it/rope/wog";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
url = "github:nix-community/stylix/release-26.05";
|
url = "github:nix-community/stylix/release-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -66,6 +71,7 @@
|
||||||
, stardew-tracker
|
, stardew-tracker
|
||||||
, flowtrack
|
, flowtrack
|
||||||
, guildhall
|
, guildhall
|
||||||
|
, wog
|
||||||
, ...
|
, ...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
let
|
let
|
||||||
|
|
@ -78,6 +84,7 @@
|
||||||
stardew-tracker.nixosModules.default
|
stardew-tracker.nixosModules.default
|
||||||
flowtrack.nixosModules.default
|
flowtrack.nixosModules.default
|
||||||
guildhall.nixosModules.default
|
guildhall.nixosModules.default
|
||||||
|
wog.nixosModules.default
|
||||||
./settings/stylix.nix
|
./settings/stylix.nix
|
||||||
];
|
];
|
||||||
mkHost = hostname: extraModules: nixpkgs.lib.nixosSystem {
|
mkHost = hostname: extraModules: nixpkgs.lib.nixosSystem {
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,7 @@ in
|
||||||
{ domain = "panel.nordhammer.it"; policy = "one_factor"; subject = admin; }
|
{ domain = "panel.nordhammer.it"; policy = "one_factor"; subject = admin; }
|
||||||
{ domain = "stardew.nordhammer.it"; policy = "one_factor"; subject = household; }
|
{ domain = "stardew.nordhammer.it"; policy = "one_factor"; subject = household; }
|
||||||
{ domain = "guildhall.nordhammer.it"; policy = "one_factor"; }
|
{ domain = "guildhall.nordhammer.it"; policy = "one_factor"; }
|
||||||
|
{ domain = "wog.nordhammer.it"; policy = "one_factor"; }
|
||||||
# Health data: only the two people the app knows about.
|
# Health data: only the two people the app knows about.
|
||||||
{ domain = "flowtrack.nordhammer.it"; policy = "one_factor"; subject = [ "user:kayla" "user:fred" ]; }
|
{ domain = "flowtrack.nordhammer.it"; policy = "one_factor"; subject = [ "user:kayla" "user:fred" ]; }
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -219,6 +219,13 @@ in
|
||||||
'';
|
'';
|
||||||
locations."/join/".proxyPass = "http://127.0.0.1:8099";
|
locations."/join/".proxyPass = "http://127.0.0.1:8099";
|
||||||
};
|
};
|
||||||
|
# World of Guildhall, same keying as Guildhall. Same accounts, no
|
||||||
|
# invite path of its own.
|
||||||
|
"wog.nordhammer.it" = lib.recursiveUpdate (protectedProxy 8100) {
|
||||||
|
locations."/".extraConfig = autheliaAuthConfig + ''
|
||||||
|
proxy_set_header Remote-User $user;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
# Pelican game panel. Can't turn off its own login (no such option
|
# Pelican game panel. Can't turn off its own login (no such option
|
||||||
# upstream), so Authelia is the outer gate and the Pelican account
|
# upstream), so Authelia is the outer gate and the Pelican account
|
||||||
|
|
|
||||||
16
services/wog.nix
Normal file
16
services/wog.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# services/wog.nix — World of Guildhall, the WoW Classic–style co-op game.
|
||||||
|
#
|
||||||
|
# The game and NixOS module live in the standalone wog flake. nginx is the
|
||||||
|
# only public listener; Authelia admits any account (Guildhall's invites
|
||||||
|
# work here too), and the game keys each player on the Remote-User it
|
||||||
|
# passes through. Nightly snapshots sit next to Guildhall's.
|
||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.networking.hostName == "FredOS-Mediaserver") {
|
||||||
|
services.wog = {
|
||||||
|
enable = true;
|
||||||
|
port = 8100;
|
||||||
|
backup.directory = "/mnt/disk2/backups/wog";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue