From 48b4ae78d30423c521e325a4efcad312a8cdbcd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Fri, 27 Jun 2025 14:30:48 +0200 Subject: [PATCH] Revert "cmus: remove cmusfm" This reverts commit 3ec9a35d671f47abb38a29bd547873ebfe43038f. --- nix/homeModules/common/cmus/default.nix | 29 +++++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/nix/homeModules/common/cmus/default.nix b/nix/homeModules/common/cmus/default.nix index 7af6e168..90312a3a 100644 --- a/nix/homeModules/common/cmus/default.nix +++ b/nix/homeModules/common/cmus/default.nix @@ -4,11 +4,13 @@ ... }: { programs.cmus.extraConfig = let - # Dispatch to multiple callbacks (if needed) - # Right now only notify-send is called + # dispatch to multiple callbacks callback-script = pkgs.writeShellApplication { name = "cmus-callback-script"; - runtimeInputs = [pkgs.libnotify]; + runtimeInputs = [ + pkgs.cmusfm + pkgs.libnotify + ]; text = '' # All keys contain only chars a-z. Values are UTF-8 strings. # @@ -17,9 +19,8 @@ # - file or url is given only if track is 'loaded' in cmus # - other keys/values are given only if they are available - # Keep a copy of arguments - # argv=("$@") - + # Use a map so that we can redirect all the args to cmusfm + argv=("$@") declare -A map while [ $# -gt 0 ]; do map["$1"]="$2" @@ -40,22 +41,26 @@ notify-send \ "$SYMB ''${map[title]}" \ "''${map[artist]} / ''${map[album]}" + cmusfm "''${argv[@]}" ''; }; in (builtins.readFile ./rc) - + lib.optionalString pkgs.stdenv.isLinux '' + + (lib.optionalString pkgs.stdenv.isLinux '' set status_display_program=${lib.getExe callback-script} - '' + '') + + (lib.optionalString pkgs.stdenv.isDarwin '' + set status_display_program=${lib.getExe pkgs.cmusfm} + '') # This handles volume better # Alsa backend has this behavior where system volume button will unsync two channels - + lib.optionalString pkgs.stdenv.isLinux '' + + (lib.optionalString pkgs.stdenv.isLinux '' set output_plugin=pulse - '' + '') # When switching over bluetooth, toggle the output device to coreaudio # and back to ao would fix the no sound issue. - + lib.optionalString pkgs.stdenv.isDarwin '' + + (lib.optionalString pkgs.stdenv.isDarwin '' # distortion fix https://github.com/cmus/cmus/issues/1130#issuecomment-1003324193 set output_plugin=ao - ''; + ''); }