aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/nixos/services/minecraft/default.nix25
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"
+ '')
+ ];
};
}