dotfiles/modules/home/graphical/wayland/fuzzel.nix

47 lines
1.3 KiB
Nix
Raw Normal View History

{ 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;
};
};
}