From 996d81afb408bc78ac1da839319eec2f38411cc6 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Sat, 14 Feb 2026 13:00:59 -0500 Subject: [PATCH] feat(fuzzel): try it out --- config/fuzzel/fuzzel.ini | 30 ++++++++++++++++++++++++++++++ home/modules/theme.nix | 1 + home/modules/ui.nix | 23 +++++++++++++++++++++++ scripts/theme | 5 +++++ 4 files changed, 59 insertions(+) create mode 100644 config/fuzzel/fuzzel.ini diff --git a/config/fuzzel/fuzzel.ini b/config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..7b7f4c3 --- /dev/null +++ b/config/fuzzel/fuzzel.ini @@ -0,0 +1,30 @@ +include=~/.config/fuzzel/themes/theme.ini + +[main] +font=SF Pro Display:size=15,Symbols Nerd Font:size=15 +prompt=> +width=45 +lines=10 +horizontal-pad=24 +vertical-pad=20 +inner-pad=12 +line-height=28 +letter-spacing=0 +icons-enabled=yes +icon-theme=hicolor +image-size-ratio=0.5 +layer=overlay +anchor=center +match-mode=fzf +dpi-aware=auto +hide-before-typing=no +match-counter=no + +[border] +width=2 +radius=12 +selection-radius=8 + +[dmenu] +mode=text +exit-immediately-if-empty=no diff --git a/home/modules/theme.nix b/home/modules/theme.nix index 4785dbb..df667d8 100644 --- a/home/modules/theme.nix +++ b/home/modules/theme.nix @@ -109,6 +109,7 @@ in $DRY_RUN_CMD ln -sf "$cfg/hypr/themes/$theme.conf" "$cfg/hypr/themes/theme.conf" $DRY_RUN_CMD ln -sf "$cfg/waybar/themes/$theme.css" "$cfg/waybar/themes/theme.css" $DRY_RUN_CMD ln -sf "$cfg/rofi/themes/$theme.rasi" "$cfg/rofi/themes/theme.rasi" + $DRY_RUN_CMD ln -sf "$cfg/fuzzel/themes/$theme.ini" "$cfg/fuzzel/themes/theme.ini" ''} $DRY_RUN_CMD ln -sf "$cfg/sioyek/themes/$theme.config" "$cfg/sioyek/themes/theme.config" $DRY_RUN_CMD ln -sf "$cfg/fzf/themes/$theme" "$cfg/fzf/themes/theme" diff --git a/home/modules/ui.nix b/home/modules/ui.nix index 21f7f61..6956f29 100644 --- a/home/modules/ui.nix +++ b/home/modules/ui.nix @@ -17,6 +17,23 @@ let #window { color: ${palette.fgAlt}; } tooltip { background: ${palette.bgAlt}; color: ${palette.fg}; border: 1px solid ${palette.border}; } ''; + + hexToFuzzel = hex: "${builtins.substring 1 6 hex}ff"; + + mkFuzzelTheme = palette: '' + [colors] + background=${hexToFuzzel palette.bg} + text=${hexToFuzzel palette.fg} + prompt=${hexToFuzzel palette.fgAlt} + placeholder=${hexToFuzzel palette.fgAlt} + input=${hexToFuzzel palette.fg} + match=${hexToFuzzel palette.accent} + selection=${hexToFuzzel palette.bgAlt} + selection-text=${hexToFuzzel palette.fg} + selection-match=${hexToFuzzel palette.accent} + border=${hexToFuzzel palette.border} + counter=${hexToFuzzel palette.fgAlt} + ''; in { home.sessionVariables = { @@ -35,6 +52,7 @@ in home.packages = with pkgs; [ nerd-fonts.symbols-only psmisc + fuzzel rofi wl-clipboard cliphist @@ -248,4 +266,9 @@ in xdg.configFile."waybar/themes/midnight.css".text = mkWaybarTheme config.palettes.midnight; xdg.configFile."waybar/themes/daylight.css".text = mkWaybarTheme config.palettes.daylight; + xdg.configFile."fuzzel/fuzzel.ini".source = + config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/nix/config/fuzzel/fuzzel.ini"; + xdg.configFile."fuzzel/themes/midnight.ini".text = mkFuzzelTheme config.palettes.midnight; + xdg.configFile."fuzzel/themes/daylight.ini".text = mkFuzzelTheme config.palettes.daylight; + } diff --git a/scripts/theme b/scripts/theme index b6d418c..cb9743f 100755 --- a/scripts/theme +++ b/scripts/theme @@ -95,6 +95,11 @@ Linux) ln -sf "$fzf_themes/$theme" "$fzf_themes/theme" } + fuzzel_themes="$cfg/fuzzel/themes" + [ -f "$fuzzel_themes/$theme.ini" ] && { + ln -sf "$fuzzel_themes/$theme.ini" "$fuzzel_themes/theme.ini" + } + fi ;; Darwin)