1
0
mirror of https://github.com/kmein/niveum synced 2026-03-20 03:51:07 +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 }: let
inherit (import ../lib) tmpfilesConfig; inherit (import ../lib) tmpfilesConfig;
in { 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 = { home-manager.users.me = {
programs.firefox = { programs.firefox = {
enable = true; enable = true;

View File

@@ -153,9 +153,15 @@ in {
niveumPackages.emailmenu niveumPackages.emailmenu
niveumPackages.closest niveumPackages.closest
niveumPackages.trans niveumPackages.trans
niveumPackages.cro
(niveumPackages.mpv-radio.override { (niveumPackages.mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path; 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 { (niveumPackages.mpv-tuner.override {
di-fm-key-file = config.age.secrets.di-fm-key.path; di-fm-key-file = config.age.secrets.di-fm-key.path;
}) })

View File

@@ -321,6 +321,7 @@
brassica = pkgs.callPackage packages/brassica.nix {}; brassica = pkgs.callPackage packages/brassica.nix {};
cheat-sh = pkgs.callPackage packages/cheat-sh.nix {}; cheat-sh = pkgs.callPackage packages/cheat-sh.nix {};
closest = pkgs.callPackage packages/closest {}; closest = pkgs.callPackage packages/closest {};
cro = pkgs.callPackage packages/cro.nix {};
cyberlocker-tools = pkgs.callPackage packages/cyberlocker-tools.nix {}; cyberlocker-tools = pkgs.callPackage packages/cyberlocker-tools.nix {};
default-gateway = pkgs.callPackage packages/default-gateway.nix {}; default-gateway = pkgs.callPackage packages/default-gateway.nix {};
depp = pkgs.callPackage packages/depp.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, coreutils,
gnused, gnused,
di-fm-key-file, di-fm-key-file,
executableName ? "mpv-radio",
mpvCommand ? "${mpv}/bin/mpv --force-window=yes"
}: let }: let
streams = import ../lib/streams.nix { streams = import ../lib/streams.nix {
di-fm-key = "%DI_FM_KEY%"; di-fm-key = "%DI_FM_KEY%";
@@ -19,11 +21,13 @@
}: "${station}\t${desc}\t${stream}") }: "${station}\t${desc}\t${stream}")
streams); streams);
in in
writers.writeDashBin "mpv-radio" '' writers.writeDashBin executableName ''
set -x
if [ -z ''${DI_FM_KEY} ]; then if [ -z ''${DI_FM_KEY} ]; then
DI_FM_KEY=$(cat "${di-fm-key-file}") DI_FM_KEY=$(cat "${di-fm-key-file}")
fi fi
exec ${mpv}/bin/mpv --force-window=yes "$( exec ${mpvCommand} "$(
${dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} \ ${dmenu}/bin/dmenu -i -l 5 < ${streams-tsv} \
| ${coreutils}/bin/cut -f3 \ | ${coreutils}/bin/cut -f3 \
| ${gnused}/bin/sed s/%DI_FM_KEY%/"$DI_FM_KEY"/ | ${gnused}/bin/sed s/%DI_FM_KEY%/"$DI_FM_KEY"/