diff options
Diffstat (limited to 'modules/nixos/services')
| -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" + '') + ]; }; } |