1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/packages/mpv-radio.nix

30 lines
638 B
Nix

{
writeText,
lib,
writers,
mpv,
dmenu,
coreutils,
gnused,
di-fm-key-file,
}: let
streams = import ../lib/streams.nix {
di-fm-key = "%DI_FM_KEY%";
};
streams-tsv = writeText "streams.tsv" (lib.concatMapStringsSep "\n" ({
desc ? "",
stream,
station,
...
}: "${station}\t${desc}\t${stream}")
streams);
in
writers.writeDashBin "mpv-radio" ''
export DI_FM_KEY=$(cat "${di-fm-key-file}")
exec ${mpv}/bin/mpv --force-window=yes "$(
${dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} \
| ${coreutils}/bin/cut -f3 \
| ${gnused}/bin/sed s/%DI_FM_KEY%/"$DI_FM_KEY"/
)"
''