dotfiles/modules/home/programs/kitty/default.nix

47 lines
1.2 KiB
Nix

{
config,
lib,
pkgs,
namespace,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.${namespace}.programs.kitty;
in {
options.${namespace}.programs.kitty = {
enable = mkEnableOption "kitty";
};
config = mkIf cfg.enable {
programs.kitty = {
enable = true;
# Set theme with `extraConfig` instead of `theme` to avoid IFD.
# See here: https://github.com/nix-community/home-manager/issues/5110
extraConfig = ''
include ${pkgs.kitty-themes}/share/kitty-themes/themes/Catppuccin-Mocha.conf
'';
font = {
size = 12;
package = pkgs.nerdfonts.override {fonts = ["Hack"];};
name = "Hack Nerd Font";
};
settings = {
background_opacity = "0.95";
};
keybindings = lib.mkMerge [
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin {
"cmd+=" = "change_font_size current +1.0";
"cmd+minus" = "change_font_size current -1.0";
"cmd+0" = "change_font_size current 0";
})
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
"ctrl+=" = "change_font_size current +1.0";
"ctrl+minus" = "change_font_size current -1.0";
"ctrl+0" = "change_font_size current 0";
})
];
};
};
}