diff options
| author | Caroline Larimore <caroline@larimo.re> | 2025-04-26 02:18:24 -0700 |
|---|---|---|
| committer | Caroline Larimore <caroline@larimo.re> | 2025-04-26 02:18:24 -0700 |
| commit | 5a59cea92e1d75fc673923b4ab4614a8281f2f64 (patch) | |
| tree | 97beba51873911fba7e442b1de274bd67c10cc29 | |
| parent | 0b5e20158e6981f746748a81ed668a0d5af56451 (diff) | |
copenhagen: add mc server scripts
| -rw-r--r-- | modules/nixos/services/minecraft/default.nix | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/modules/nixos/services/minecraft/default.nix b/modules/nixos/services/minecraft/default.nix index cc1ae99..ae8b423 100644 --- a/modules/nixos/services/minecraft/default.nix +++ b/modules/nixos/services/minecraft/default.nix @@ -1,4 +1,4 @@ -{ options, config, lib, namespace, ... }: +{ options, config, lib, pkgs, namespace, ... }: with lib; with lib.${namespace}; let cfg = config.${namespace}.services.minecraft; @@ -15,5 +15,28 @@ in { eula = true; openFirewall = true; }; + + environment.systemPackages = with pkgs; [ + (writeShellScriptBin "mc-attach" '' + file="/run/minecraft/$1.sock" + + if [[ -r "$file" && -w "$file" ]]; then + tmux -S "$file" attach + else + sudo -u minecraft tmux -S "$file" attach + fi + '') + + (writeShellScriptBin "mc-shell" '' + dir="/srv/minecraft" + + if [[ -v "$1" ]]; then + dir="$1" + fi + + cd "$dir" + sudo -u minecraft "$SHELL" + '') + ]; }; } |