{ pkgs, config, lib, theme, ... }: let cfg = config.my.graphical.wayland.fuzzel; in { options.my.graphical.wayland.fuzzel = { enable = lib.mkEnableOption null; }; config = lib.mkIf cfg.enable { home.packages = [ pkgs.fuzzel ]; xdg.configFile."fuzzel/fuzzel.ini".text = lib.generators.toINI { } { main = { font = "DejaVu Sans Mono:size=13"; icon-theme = "Papirus-Dark"; show-actions = true; terminal = "${config.programs.foot.package}/bin/foot -e"; width = 80; horizontal-pad = 60; vertical-pad = 30; inner-pad = 20; line-height = 24; }; colors = builtins.mapAttrs (_: val: "${val}FF") (with theme; { background = mantle; text = overlay2; match = lavender; selection = surface0; selection-text = text; selection-match = mauve; border = mauve; }); key-bindings = { cursor-left = "Left Control+b Mod1+h"; cursor-right = "Right Control+f Mod1+l"; delete-prev = "BackSpace Control+h"; delete-prev-word = "Mod1+BackSpace Control+BackSpace Control+w"; prev = "Up Control+p Mod1+k"; prev-page = "KP_Prior Mod1+v"; next = "Down Control+n Mod1+j"; next-page = "KP_Next Control+v"; }; border.width = 3; }; }; }