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

cro: abstract out and use for chromecasting radio streams

This commit is contained in:
2024-06-09 22:42:50 +02:00
parent e94371887b
commit e0c52b06fd
5 changed files with 23 additions and 14 deletions

View File

@@ -5,18 +5,6 @@
}: let
inherit (import ../lib) tmpfilesConfig;
in {
environment.systemPackages = [
(pkgs.writers.writeDashBin "cro" ''
${pkgs.chromium}/bin/chromium \
--disable-sync \
--no-default-browser-check \
--no-first-run \
--user-data-dir="$(mktemp -d)" \
--incognito \
"$@"
'')
];
home-manager.users.me = {
programs.firefox = {
enable = true;

View File

@@ -153,9 +153,15 @@ in {
niveumPackages.emailmenu
niveumPackages.closest
niveumPackages.trans
niveumPackages.cro
(niveumPackages.mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
})
(niveumPackages.mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
executableName = "cro-radio";
mpvCommand = "${niveumPackages.cro}/bin/cro";
})
(niveumPackages.mpv-tuner.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
})

View File

@@ -321,6 +321,7 @@
brassica = pkgs.callPackage packages/brassica.nix {};
cheat-sh = pkgs.callPackage packages/cheat-sh.nix {};
closest = pkgs.callPackage packages/closest {};
cro = pkgs.callPackage packages/cro.nix {};
cyberlocker-tools = pkgs.callPackage packages/cyberlocker-tools.nix {};
default-gateway = pkgs.callPackage packages/default-gateway.nix {};
depp = pkgs.callPackage packages/depp.nix {};

10
packages/cro.nix Normal file
View File

@@ -0,0 +1,10 @@
{ writers, chromium }:
writers.writeDashBin "cro" ''
${chromium}/bin/chromium \
--disable-sync \
--no-default-browser-check \
--no-first-run \
--user-data-dir="$(mktemp -d)" \
--incognito \
"$@"
''

View File

@@ -7,6 +7,8 @@
coreutils,
gnused,
di-fm-key-file,
executableName ? "mpv-radio",
mpvCommand ? "${mpv}/bin/mpv --force-window=yes"
}: let
streams = import ../lib/streams.nix {
di-fm-key = "%DI_FM_KEY%";
@@ -19,11 +21,13 @@
}: "${station}\t${desc}\t${stream}")
streams);
in
writers.writeDashBin "mpv-radio" ''
writers.writeDashBin executableName ''
set -x
if [ -z ''${DI_FM_KEY} ]; then
DI_FM_KEY=$(cat "${di-fm-key-file}")
fi
exec ${mpv}/bin/mpv --force-window=yes "$(
exec ${mpvCommand} "$(
${dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} \
| ${coreutils}/bin/cut -f3 \
| ${gnused}/bin/sed s/%DI_FM_KEY%/"$DI_FM_KEY"/