From 433e8de330fd9c157b636f9ccea45e3eeaf69ad2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Reynier?=
<88983487+loicreynier@users.noreply.github.com>
Date: Mon, 21 Nov 2022 16:35:18 +0100
Subject: [PATCH] fzf: add colors option (#3206)
---
modules/programs/fzf.nix | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/modules/programs/fzf.nix b/modules/programs/fzf.nix
index d8eef49c..fe1e720d 100644
--- a/modules/programs/fzf.nix
+++ b/modules/programs/fzf.nix
@@ -6,6 +6,10 @@ let
cfg = config.programs.fzf;
+ renderedColors = colors:
+ concatStringsSep ","
+ (mapAttrsToList (name: value: "${name}:${value}") colors);
+
in {
imports = [
(mkRemovedOptionModule [ "programs" "fzf" "historyWidgetCommand" ]
@@ -88,6 +92,24 @@ in {
'';
};
+ colors = mkOption {
+ type = types.attrsOf types.str;
+ default = { };
+ example = literalExpression ''
+ {
+ bg = "#1e1e1e";
+ "bg+" = "#1e1e1e";
+ fg = "#d4d4d4";
+ "fg+" = "#d4d4d4";
+ }
+ '';
+ description = ''
+ Color scheme options added to FZF_DEFAULT_OPTS. See
+
+ for documentation.
+ '';
+ };
+
tmux = {
enableShellIntegration = mkEnableOption ''
setting FZF_TMUX=1 which causes shell integration to use fzf-tmux
@@ -141,7 +163,9 @@ in {
FZF_CTRL_T_COMMAND = cfg.fileWidgetCommand;
FZF_CTRL_T_OPTS = cfg.fileWidgetOptions;
FZF_DEFAULT_COMMAND = cfg.defaultCommand;
- FZF_DEFAULT_OPTS = cfg.defaultOptions;
+ FZF_DEFAULT_OPTS = cfg.defaultOptions
+ ++ lib.optionals (cfg.colors != { })
+ [ "--color ${renderedColors cfg.colors}" ];
FZF_TMUX = if cfg.tmux.enableShellIntegration then "1" else null;
FZF_TMUX_OPTS = cfg.tmux.shellIntegrationOptions;
});