From f2501da417cc21e77e1109a73da5a1308cef8331 Mon Sep 17 00:00:00 2001 From: Lukas Wurzinger Date: Sun, 15 Sep 2024 21:09:52 +0200 Subject: [PATCH] stuff --- hosts/vessel/audiocomp.nix | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/hosts/vessel/audiocomp.nix b/hosts/vessel/audiocomp.nix index 4336c13..f8d5563 100644 --- a/hosts/vessel/audiocomp.nix +++ b/hosts/vessel/audiocomp.nix @@ -19,21 +19,45 @@ pkgs.opusTools ]; text = '' - src="$1" - dst=''${src%.flac}.opus - dst=/srv/compmusic/''${dst#./} + src=$(realpath -- "$1") + dst=$src + dst=''${dst%.flac}.opus + dst=/srv/compmusic/''${dst#/srv/music/} if [[ -f "$dst" ]]; then exit fi mkdir --parents -- "$(dirname -- "$dst")" + + echo "encoding ''${src@Q} -> ''${dst@Q}" >&2 exec opusenc --quiet --bitrate 96.000 -- "$src" "$dst" ''; }; + clean = pkgs.writeShellApplication { + name = "clean"; + text = '' + del=$(realpath -- "$1") + chk=$del + chk=''${chk%.opus}.flac + chk=/srv/music/''${chk#/srv/compmusic/} + + if [[ ! -f "$chk" ]]; then + echo "deleting ''${del@Q}" >&2 + rm --force -- "$del" + fi + ''; + }; in '' - cd /srv/music + shopt -s globstar nullglob + + pushd /srv/music find . -name '*.flac' -print0 | parallel --null -- ${lib.getExe enc} {} + popd + + pushd /srv/compmusic + find . -name '*.flac' -exec ${clean} {} \; + popd rsync --verbose --verbose --archive --update --delete --mkpath --exclude lost+found \ --rsh 'ssh -i /etc/ssh/ssh_host_ed25519_key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' \