Add guildhall
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
a985148346
commit
791a3bdf34
6 changed files with 53 additions and 0 deletions
|
|
@ -126,6 +126,7 @@ in
|
|||
./services/redlib.nix
|
||||
./services/stardew-tracker.nix
|
||||
./services/flowtrack.nix
|
||||
./services/guildhall.nix
|
||||
./services/hardware-health.nix
|
||||
./services/wan-watchdog.nix
|
||||
./services/deployment.nix
|
||||
|
|
|
|||
21
flake.lock
generated
21
flake.lock
generated
|
|
@ -223,6 +223,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"guildhall": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792327736,
|
||||
"narHash": "sha256-rBD6icIYApcYSri+dEmg4Xtar6/LA9dfyHOHvpQaC7U=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "9058039eb7d881d591cd6675199e798549b6f3b5",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "https://forg.gregersen.it/rope/guildhall"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://forg.gregersen.it/rope/guildhall"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -472,6 +492,7 @@
|
|||
"root": {
|
||||
"inputs": {
|
||||
"flowtrack": "flowtrack",
|
||||
"guildhall": "guildhall",
|
||||
"home-manager": "home-manager",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"loupe": "loupe",
|
||||
|
|
|
|||
|
|
@ -45,6 +45,11 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
guildhall = {
|
||||
url = "git+https://forg.gregersen.it/rope/guildhall";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
url = "github:nix-community/stylix/release-26.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
@ -60,6 +65,7 @@
|
|||
, proton-cachyos-nix
|
||||
, stardew-tracker
|
||||
, flowtrack
|
||||
, guildhall
|
||||
, ...
|
||||
} @ inputs:
|
||||
let
|
||||
|
|
@ -71,6 +77,7 @@
|
|||
stylix.nixosModules.stylix
|
||||
stardew-tracker.nixosModules.default
|
||||
flowtrack.nixosModules.default
|
||||
guildhall.nixosModules.default
|
||||
./settings/stylix.nix
|
||||
];
|
||||
mkHost = hostname: extraModules: nixpkgs.lib.nixosSystem {
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ in
|
|||
{ domain = "reddit.nordhammer.it"; policy = "one_factor"; }
|
||||
{ domain = "panel.nordhammer.it"; policy = "one_factor"; subject = admin; }
|
||||
{ domain = "stardew.nordhammer.it"; policy = "one_factor"; }
|
||||
{ domain = "guildhall.nordhammer.it"; policy = "one_factor"; }
|
||||
# Health data: only the two people the app knows about.
|
||||
{ domain = "flowtrack.nordhammer.it"; policy = "one_factor"; subject = [ "user:kayla" "user:fred" ]; }
|
||||
];
|
||||
|
|
|
|||
16
services/guildhall.nix
Normal file
16
services/guildhall.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# services/guildhall.nix — Guildhall, the co-op idle game for friends.
|
||||
#
|
||||
# The game and NixOS module live in the standalone guildhall flake. nginx is
|
||||
# the only public listener; Authelia admits any account, and the game keys
|
||||
# each player on the Remote-User it passes through. Nightly snapshots sit
|
||||
# next to flowtrack's on the SSD branch of the pool.
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
config = lib.mkIf (config.networking.hostName == "FredOS-Mediaserver") {
|
||||
services.guildhall = {
|
||||
enable = true;
|
||||
port = 8098;
|
||||
backup.directory = "/mnt/disk2/backups/guildhall";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -210,6 +210,13 @@ in
|
|||
proxy_set_header Remote-User $user;
|
||||
'';
|
||||
};
|
||||
# Co-op idle game. Players are keyed on Remote-User, so nginx must
|
||||
# always overwrite it with the Authelia identity.
|
||||
"guildhall.nordhammer.it" = lib.recursiveUpdate (protectedProxy 8098) {
|
||||
locations."/".extraConfig = autheliaAuthConfig + ''
|
||||
proxy_set_header Remote-User $user;
|
||||
'';
|
||||
};
|
||||
|
||||
# Pelican game panel. Can't turn off its own login (no such option
|
||||
# upstream), so Authelia is the outer gate and the Pelican account
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue