home: tmux: refactor 'mkTerminalFlags'

I'm about to add a similar helper for `terminal-overrides`, hence making
`mkTerminalFlags` the helper and `mkTerminalFeatures` the new function.
This commit is contained in:
Bruno BELANYI 2025-04-07 13:28:38 +00:00
parent 0152907536
commit b95efbc4f2

View file

@ -6,13 +6,15 @@ let
(config.my.home.wm.windowManager != null) (config.my.home.wm.windowManager != null)
]; ];
mkTerminalFlags = opt: flag: mkTerminalFlags = tmuxVar: opt: flag:
let let
mkFlag = term: ''set -as terminal-features ",${term}:${flag}"''; mkFlag = term: ''set -as ${tmuxVar} ",${term}:${flag}"'';
enabledTerminals = lib.filterAttrs (_: v: v.${opt}) cfg.terminalFeatures; enabledTerminals = lib.filterAttrs (_: v: v.${opt}) cfg.terminalFeatures;
terminals = lib.attrNames enabledTerminals; terminals = lib.attrNames enabledTerminals;
in in
lib.concatMapStringsSep "\n" mkFlag terminals; lib.concatMapStringsSep "\n" mkFlag terminals;
mkTerminalFeatures = mkTerminalFlags "terminal-features";
in in
{ {
options.my.home.tmux = with lib; { options.my.home.tmux = with lib; {
@ -123,9 +125,9 @@ in
} }
# Force OSC8 hyperlinks for each relevant $TERM # Force OSC8 hyperlinks for each relevant $TERM
${mkTerminalFlags "hyperlinks" "hyperlinks"} ${mkTerminalFeatures "hyperlinks" "hyperlinks"}
# Force 24-bit color for each relevant $TERM # Force 24-bit color for each relevant $TERM
${mkTerminalFlags "trueColor" "RGB"} ${mkTerminalFeatures "trueColor" "RGB"}
''; '';
}; };
} }