Files
nixos-flake/assets/scripts/misskey.nix
Kenryu Shibata d471aa77f9 update
2026-01-07 01:42:09 +09:00

33 lines
983 B
Nix

{ config, pkgs, ... }:
let
getLatestN = writeShellApplication {
name = "misskey-getLatestN";
runtimeInputs = [
curl
jq
];
text = ''
if [[ -a /tmp/${config.networking.hostName}/misskey-scripts/getLatestN.fifo ]]; then
mkdir -p /tmp/${config.networking.hostName}/misskey-scripts
mkfifo /tmp/${config.networking.hostName}/misskey-scripts/getLatestN.fifo
fi
pipeLocation=/tmp/${config.networking.hostName}/misskey-scripts/getLatestN.fifo
curl https://misskey.io/api/notes -s --request POST --header 'Content-Type: application/json' --data '{"local": true, "reply": false, "renote": false, "withFiles": false, "poll": false, "limit": $1}' > "$pipeLocation" &
echo "$(jq -M -r '.[].text' < $pipeLocation)" > $pipeLocation &
while read line; do
echo "$line"
done < $pipeLocation
wait
'';
};
in
pkgs.symlinkJoin {
name = "misskey-scripts";
paths = [ getLatestN ];
}