This repository provides a Bash script (installer_kitty_dots.sh) to automate the installation of the Kitty terminal emulator, the FantasqueSansM Nerd Font, and custom Kitty configurations. It supports Debian/Ubuntu (apt) and Arch-based (pacman) systems. All default Kitty shortcuts are blocked and manually remapped to suit my preferences, as detailed in kitty_custom.conf.
- This is part of my dotfiles repository. You can use the dotfiles repo to automatically download this repo along with other dotfiles repositories like Neovim, Tmux, and Bash.
- Automated Installation: Installs Kitty and the FantasqueSansM Nerd Font for a modern terminal experience.
- Custom Configurations: Sets up
~/.config/kitty/kitty.conf,kitty_custom.conf, andkitty-colors_custom.conffor personalized settings. - Theme Support: Installs
kitty-themesfor customizable terminal themes. - Safe File Handling: Prompts to avoid overwriting existing configuration files.
- Cross-Distro Compatibility: Supports Debian/Ubuntu (
apt) and Arch-based (pacman) systems.
- A Debian/Ubuntu or Arch-based Linux system.
gitfor cloning themes (optional).curlandunzipfor font installation.sudopermissions for package installation.- A terminal for interactive execution or a non-interactive environment for
curl | bash.
sudo apt install curl git unzip -yClone the repository, run the script, and clean up:
git clone https://github.com/corechunk/Kitty.git temp101
cd temp101
chmod +x installer_kitty_dots.sh
./installer_kitty_dots.sh
cd ..
rm -rf temp101git clone https://github.com/corechunk/Kitty.git temp101 && cd temp101 && chmod +x installer_kitty_dots.sh && ./installer_kitty_dots.sh && cd .. && rm -rf temp101The script will:
- Detect the package manager (
aptorpacman). - Install Kitty if not already present.
- Install the FantasqueSansM Nerd Font if not present.
- Create or update
~/.config/kitty/kitty.conf,kitty_custom.conf, andkitty-colors_custom.conf. - Install
kitty-themesfor theme support. - Include custom configurations in
kitty.conf.
The ~/.config/kitty/kitty.conf, kitty_custom.conf, and kitty-colors_custom.conf files provide a customized Kitty setup with:
- Blocked Default Shortcuts: All default Kitty keybindings are disabled for a clean slate.
- Custom Keybindings: Remapped shortcuts tailored to my workflow (see
kitty_custom.conffor details). - Font: Uses FantasqueSansM Nerd Font for enhanced terminal visuals.
- Themes: Supports
kitty-themesfor customizable color schemes. - Customizable: Add settings to
kitty_custom.conforkitty-colors_custom.confto extend or override defaults.
To include custom settings in ~/.config/kitty/kitty.conf:
include ./kitty_<customName>.conf
include ./kitty-colors_<customName>.confAll default Kitty keybindings are disabled, and custom shortcuts are defined in kitty_custom.conf. Refer to kitty_custom.conf in the repository for the full list of remapped keybindings, which are tailored to my workflow.
| Category | Keybinding | Action |
|---|---|---|
| General | - | See kitty_custom.conf for details |
| - | - | - |
| Window Management | - | See kitty_custom.conf for details |
| - | - | - |
| Tab Management | - | See kitty_custom.conf for details |
The kitty-themes directory provides a collection of themes installed to ~/.config/kitty/kitty-themes. To apply a theme, add to kitty.conf or kitty_custom.conf:
include ./kitty-themes/<theme_name>.conf- Extend Configurations: Add custom settings to
~/.config/kitty/kitty_custom.conforkitty-colors_custom.confto override or extend defaults without modifyingkitty.conf. - Theme Management: Add or remove themes in
~/.config/kitty/kitty-themesand updatekitty.confto include them.
This project is licensed under the Apache 2.0 License.
