server/programs/fish/scripts.nix

37 lines
1.3 KiB
Nix

{ pkgs, ... }:
{
calc = "${pkgs.custom.pipethon}/bin/python -i ${pkgs.writeText "init.py" ''
import sys
sys.path.append("${../../scriptlib}")
from scriptlib import *
''} ";
# sys.path.append("${pkgs.python314Packages.numpy}/lib/python3.14/site-packages/")
cp-media =
name: media:
let
s = pkgs.writeScriptBin "cp-${name}" ''
echo "copying to library ${media}"
echo "calculating hash"
find "$1" - type f - print0 | sort - z | xargs - 0 sha1sum | awk '{
print $1}' | sha1sum | awk '{print $1}' > "$1.hash"
rsync -azP "$1" fili:/media/${media}
rsync -azP "$1.hash" fili:/media/${media}
'';
in
"${s}/bin/cp-${name}";
ragdoll = "${pkgs.writeScriptBin "ragdoll" ''
RAND=$(xxd -l 32 -c 32 -p < /dev/urandom)
if [ -z "$TMUX_SESSION_NAME" ]; then
RAND=$(cat /dev/urandom | head -c 20 | base32)
export TMUX_SESSION_NAME="$RAND"
tmux rename-session -t "$(tmux display-message -p "#S")" "$TMUX_SESSION_NAME"
fi
SSH_TMUX_SESSION_NAME="ssh-from-$(hostname)-$TMUX_SESSION_NAME"
tmux detach -E "kitten ssh -t ragdoll \"export TMUX_SESSION_NAME=$SSH_TMUX_SESSION_NAME; tmux attach -t $SSH_TMUX_SESSION_NAME || tmux new -e TMUX_SESSION_NAME=$SSH_TMUX_SESSION_NAME -s $SSH_TMUX_SESSION_NAME\"; exec tmux attach -t $TMUX_SESSION_NAME"
''}/bin/ragdoll";
}