diff options
Diffstat (limited to 'modules/valheim.nix')
| -rw-r--r-- | modules/valheim.nix | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/modules/valheim.nix b/modules/valheim.nix deleted file mode 100644 index f12a894..0000000 --- a/modules/valheim.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.orbekk.valheim-server; - statePath = "/var/lib/${cfg.stateDir}"; -in -{ - options = { - orbekk.valheim-server = { - enable = lib.mkEnableOption "Enable valheim server"; - programDir = lib.mkOption { - type = lib.types.str; - default = null; - }; - stateDir = lib.mkOption { - type = lib.types.str; - default = "valheim"; - }; - statusPort = lib.mkOption { - type = lib.types.int; - default = 12817; - }; - }; - }; - - config = lib.mkIf cfg.enable { - systemd.services.valheim-server = { - description = "Valheim server"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - path = with pkgs; [ steam.run ]; - - serviceConfig = { - DynamicUser = true; - StateDirectory = cfg.stateDir; - KillSignal = "SIGINT"; - }; - - environment = { - HOME = statePath; - }; - - script = '' - cd ${cfg.programDir} - export templdpath=$LD_LIBRARY_PATH - export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH - export SteamAppId=892970 - steam-run ./valheim_server.x86_64 -name "doomsday" -port 3400 -world "doomsday" -password "$(cat ${statePath}/password.txt)" -savedir ${statePath} -nographics -batchmode - ''; - }; - - systemd.services.valheim-server-prober = { - description = "Collect metrics for valheim-server"; - startAt = "*:0/5"; - path = with pkgs; [ moreutils systemd gnugrep coreutils ]; - script = '' - systemctl show valheim-server | \ - grep -E 'IPIngress|IPEgress|CPUUsage' | \ - tr '=' ' ' | { - while read k v; do - echo "# TYPE $k counter" - echo "systemd_$k{unit=\"valheim-server.service\"} $v"; - done - } | \ - sponge ${config.orbekk.monitoring-server.textFileDir}/valheim_server.prom - ''; - }; - }; -} |
