diff --git a/flake.lock b/flake.lock index 5e576fd..1c16f73 100644 --- a/flake.lock +++ b/flake.lock @@ -211,11 +211,11 @@ "stockholm": { "flake": false, "locked": { - "lastModified": 1669968392, - "narHash": "sha256-yXdKNYrOFpueTu6lFpm624rVri4rK6ad4qJqoUkc9vY=", + "lastModified": 1670868652, + "narHash": "sha256-Y5kEs6GsKMvkLe+q+rAQDTIpLwmbt51lB07JLGbi4f8=", "ref": "refs/heads/master", - "rev": "645c3564f75589531abcf17fd3c3f920d93a394a", - "revCount": 10987, + "rev": "3884243448869bdf09f6434b385e532c7c26ae88", + "revCount": 11077, "type": "git", "url": "https://cgit.lassul.us/stockholm" }, diff --git a/systems/makanek/tarot.nix b/systems/makanek/tarot.nix index aec5daa..9010937 100644 --- a/systems/makanek/tarot.nix +++ b/systems/makanek/tarot.nix @@ -20,32 +20,30 @@ in { krebs.htgen.tarot = { port = tarotPort; user.name = "radio"; - script = ''. ${ - pkgs.writers.writeDash "tarot" '' - case "$Method $Request_URI" in - "GET /") - if item=$(${pkgs.findutils}/bin/find ${toString tarotFiles} -type f | ${pkgs.coreutils}/bin/shuf -n1); then - card=$(mktemp --tmpdir tarot.XXX) - trap 'rm $card' EXIT - reverse=$(${pkgs.coreutils}/bin/shuf -i0-1 -n1) - if [ "$reverse" -eq 1 ]; then - ${pkgs.imagemagick}/bin/convert -rotate 180 "$item" "$card" - else - ${pkgs.coreutils}/bin/cp "$item" "$card" - fi - printf 'HTTP/1.1 200 OK\r\n' - printf 'Content-Type: %s\r\n' "$(${pkgs.file}/bin/file -ib "$card")" - printf 'Server: %s\r\n' "$Server" - printf 'Connection: close\r\n' - printf 'Content-Length: %d\r\n' $(${pkgs.coreutils}/bin/wc -c < "$card") - printf '\r\n' - cat "$card" - exit - fi - ;; - esac - '' - }''; + scriptFile = pkgs.writers.writeDash "tarot" '' + case "$Method $Request_URI" in + "GET /") + if item=$(${pkgs.findutils}/bin/find ${toString tarotFiles} -type f | ${pkgs.coreutils}/bin/shuf -n1); then + card=$(mktemp --tmpdir tarot.XXX) + trap 'rm $card' EXIT + reverse=$(${pkgs.coreutils}/bin/shuf -i0-1 -n1) + if [ "$reverse" -eq 1 ]; then + ${pkgs.imagemagick}/bin/convert -rotate 180 "$item" "$card" + else + ${pkgs.coreutils}/bin/cp "$item" "$card" + fi + printf 'HTTP/1.1 200 OK\r\n' + printf 'Content-Type: %s\r\n' "$(${pkgs.file}/bin/file -ib "$card")" + printf 'Server: %s\r\n' "$Server" + printf 'Connection: close\r\n' + printf 'Content-Length: %d\r\n' $(${pkgs.coreutils}/bin/wc -c < "$card") + printf '\r\n' + cat "$card" + exit + fi + ;; + esac + ''; }; niveum.passport.services = [