Kitty

From NixOS Wiki

Kitty is a modern, fast, GPU-based terminal emulator that leverages modern graphics hardware for high performance.

Installation

With nix-shell

nix-shell -p kitty

With NixOS

environment.systemPackages = [
  pkgs.kitty
];

Configuration

Using NixOS

NixOS does not include a module for Kitty, it is necessary to manually replicate the steps from Kitty's official documentation.

Using Home Manager

Basic

programs.kitty.enable = true;

Advanced

programs.kitty = lib.mkForce {
  enable = true;
  settings = {
    confirm_os_window_close = 0;
    dynamic_background_opacity = true;
    enable_audio_bell = false;
    mouse_hide_wait = "-1.0";
    window_padding_width = 10;
    background_opacity = "0.5";
    background_blur = 5;
    symbol_map = let
      mappings = [
        "U+23FB-U+23FE"
        "U+2B58"
        "U+E200-U+E2A9"
        "U+E0A0-U+E0A3"
        "U+E0B0-U+E0BF"
        "U+E0C0-U+E0C8"
        "U+E0CC-U+E0CF"
        "U+E0D0-U+E0D2"
        "U+E0D4"
        "U+E700-U+E7C5"
        "U+F000-U+F2E0"
        "U+2665"
        "U+26A1"
        "U+F400-U+F4A8"
        "U+F67C"
        "U+E000-U+E00A"
        "U+F300-U+F313"
        "U+E5FA-U+E62B"
      ];
    in
      (builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
  };
};

Tips and Tricks

Using Stylix to theme Kitty

Stylix has a built-in integration for Kitty:

stylix.targets.kitty.enable = true;

References

  1. https://github.com/kovidgoyal/kitty
  2. https://sw.kovidgoyal.net/kitty/
  3. https://nix-community.github.io/home-manager/options.xhtml#opt-programs.kitty.enable
  4. https://stylix.danth.me/options/hm.html#stylixtargetskittyenable