37 lines
1.3 KiB
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";
|
|
}
|