niksos/modules/gui/foot.nix
2023-09-08 16:10:15 +02:00

106 lines
3.8 KiB
Nix

{
inputs,
pkgs,
...
}: {
programs.foot = {
enable = true;
package = inputs.nixpkgs-wayland.packages.${pkgs.system}.foot;
server.enable = true;
settings = {
main = {
term = "xterm-256color";
app-id = "foot";
title = "foot";
locked-title = "no";
font = "JetBrains Mono Nerd Font:size=16";
line-height = 20;
letter-spacing = 0;
horizontal-letter-offset = 0;
vertical-letter-offset = -0.75;
box-drawings-uses-font-glyphs = "no";
dpi-aware = "no";
initial-window-size-chars = "104x36";
initial-window-mode = "windowed";
pad = "5x5 center";
resize-delay-ms = 100;
notify = "notify-send -a \${app-id} -i \${app-id} \${title} \${body}";
bold-text-in-bright = "no";
word-delimiters = ",`|:\"'()[]{}<>";
selection-target = "primary";
};
bell = {
urgent = "yes";
notify = "yes";
command = "notify-send bell";
command-focused = "no";
};
scrollback = {
lines = 100000;
multiplier = 10.0;
indicator-position = "relative";
indicator-format = "line";
};
url = {
launch = "xdg-open \${url}";
label-letters = "sadfjklewcmpgh";
osc8-underline = "always";
protocols = "http, https, ftp, ftps, file, gemini, gopher, irc, ircs";
uri-characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+=\"'()[]";
};
cursor = {
style = "block";
blink = "no";
};
mouse = {
hide-when-typing = "yes";
alternate-scroll-mode = "yes";
};
colors = {
alpha = 0.85;
foreground = "dee1e6";
background = "101419";
# Normal/regular colors (color palette 0-7)
regular0 = "c5c8cd"; # black
regular1 = "bd3c42"; # red
regular2 = "69b373"; # green
regular3 = "ceac67"; # yellow
regular4 = "4d82c8"; # blue
regular5 = "a367cb"; # magenta
regular6 = "519bc6"; # cyan
regular7 = "101419"; # white
# Bright colors (color palette 8-15)
bright0 = "989ba0"; # bright black
bright1 = "c24147"; # bright red
bright2 = "6eb878"; # bright green
bright3 = "d3b16c"; # bright yellow
bright4 = "5287cd"; # bright blue
bright5 = "a86cd0"; # bright magenta
bright6 = "56a0cb"; # bright cyan
bright7 = "1f2328"; # bright white
};
csd = {
preferred = "server";
};
key-bindings = {
show-urls-launch = "Control+Shift+u";
unicode-input = "Control+Shift+i";
};
mouse-bindings = {
selection-override-modifiers = "Shift";
primary-paste = "BTN_MIDDLE";
select-begin = "BTN_LEFT";
select-begin-block = "Control+BTN_LEFT";
select-extend = "BTN_RIGHT";
select-extend-character-wise = "Control+BTN_RIGHT";
select-word = "BTN_LEFT-2";
select-word-whitespace = "Control+BTN_LEFT-2";
select-row = "BTN_LEFT-3";
};
};
};
}