nix-dotfiles/hmModules/apps/foot/app.nix

93 lines
2.6 KiB
Nix

{ config, lib, ... }:
{
options.foot = {
enable = lib.mkEnableOption "Enables foot";
make_default = lib.mkEnableOption "Makes foot default terminal emulator";
font = lib.mkOption { default = ""; };
font_size = lib.mkOption { default = 24; };
theme = {
catppuccin.enable = lib.mkEnableOption "Enables catppuccin theme for foot";
};
};
config = lib.mkIf config.foot.enable {
programs.foot = {
enable = true;
settings = {
main.font = "${config.foot.font}:size=${builtins.toString config.foot.font_size}";
colors-dark = lib.mkIf config.foot.theme.catppuccin.enable {
cursor = "11111b f5e0dc";
foreground = "cdd6f4";
background = "1e1e2e";
regular0 = "45475a";
regular1 = "f38ba8";
regular2 = "a6e3a1";
regular3 = "f9e2af";
regular4 = "89b4fa";
regular5 = "f5c2e7";
regular6 = "94e2d5";
regular7 = "bac2de";
bright0 = "585b70";
bright1 = "f38ba8";
bright2 = "a6e3a1";
bright3 = "f9e2af";
bright4 = "89b4fa";
bright5 = "f5c2e7";
bright6 = "94e2d5";
bright7 = "a6adc8";
"16" = "fab387";
"17" = "f5e0dc";
selection-foreground = "cdd6f4";
selection-background = "414356";
search-box-no-match = "11111b f38ba8";
search-box-match = "cdd6f4 313244";
jump-labels = "11111b fab387";
urls = "89b4fa";
};
colors-light = lib.mkIf config.foot.theme.catppuccin.enable {
cursor = "eff1f5 dc8a78";
foreground = "4c4f69";
background = "eff1f5";
regular0 = "5c5f77";
regular1 = "d20f39";
regular2 = "40a02b";
regular3 = "df8e1d";
regular4 = "1e66f5";
regular5 = "ea76cb";
regular6 = "179299";
regular7 = "acb0be";
bright0 = "6c6f85";
bright1 = "d20f39";
bright2 = "40a02b";
bright3 = "df8e1d";
bright4 = "1e66f5";
bright5 = "ea76cb";
bright6 = "179299";
bright7 = "bcc0cc";
"16" = "fe640b";
"17" = "dc8a78";
selection-foreground = "4c4f69";
selection-background = "ccced7";
search-box-no-match = "dce0e8 d20f39";
search-box-match = "4c4f69 ccd0da";
jump-labels = "dce0e8 fe640b";
urls = "1e66f5";
};
};
};
defaultApps.terminal = lib.mkIf config.foot.make_default "foot";
};
}