ooknet/home/modules/desktop/terminal/foot/default.nix

71 lines
2.4 KiB
Nix

{ config, lib, ... }:
let
inherit (config.colorscheme) palette;
fonts = config.ooknet.theme.fonts;
cfg = config.ooknet.desktop.terminal.foot;
in
{
config = lib.mkIf cfg.enable {
home.sessionVariables = lib.mkIf cfg.default {
TERMINAL = "foot";
TERM = "foot";
};
programs.foot = {
enable = true;
server.enable = true;
settings = {
main = {
font = "${fonts.monospace.family}:pixelsize=18:antialias=true";
font-bold = "${fonts.monospace.family}:style=Bold:pixelsize=18:antialias=true";
font-italic = "${fonts.monospace.family}:style=Italic:pixelsize=18:antialias=true";
font-bold-italic = "${fonts.monospace.family}:style=Bold Italic:pixelsize=18:antialias=true";
dpi-aware = "yes";
letter-spacing = "-1px";
bold-text-in-bright = "palette-based";
resize-delay-ms = "80";
pad = "9x9 center";
selection-target = "clipboard";
};
tweak = {
sixel = "yes";
font-monospace-warn = "no";
};
cursor = {
style = "beam";
blink = "yes";
};
colors = {
alpha = 1.0;
foreground = "${palette.base05}";
background = "${palette.base00}";
regular0 = "${palette.base00}"; # black
regular1 = "${palette.base08}"; # red
regular2 = "${palette.base0B}"; # green
regular3 = "${palette.base0A}"; # yellow
regular4 = "${palette.base0D}"; # blue
regular5 = "${palette.base0E}"; # magenta
regular6 = "${palette.base0C}"; # cyan
regular7 = "${palette.base05}"; # white
bright0 = "${palette.base03}"; # bright black
bright1 = "${palette.base08}"; # bright red
bright2 = "${palette.base0B}"; # bright green
bright3 = "${palette.base0A}"; # bright yellow
bright4 = "${palette.base0D}"; # bright blue
bright5 = "${palette.base0E}"; # bright magenta
bright6 = "${palette.base0C}"; # bright cyan
bright7 = "${palette.base07}"; # bright white
"16" = "${palette.base09}";
"17" = "${palette.base0F}";
"18" = "${palette.base01}";
"19" = "${palette.base02}";
"20" = "${palette.base04}";
"21" = "${palette.base06}";
};
};
};
};
}