alacritty-theme-switch is a CLI tool for switching color themes in the
Alacritty terminal emulator. It lets
you store multiple theme configurations and switch between them interactively or
programmatically.
- Interactive theme selection
- Download themes directly from GitHub repositories
- Automatic backups of your configuration before each switch
- Non-destructive merging of theme files with your main config
- Cross-platform support (Linux, macOS, Windows)
Install the tool:
# Via install script (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/tichopad/alacritty-theme-switch/refs/heads/main/install.sh | sh
# Via install script (Windows PowerShell)
irm https://raw.githubusercontent.com/tichopad/alacritty-theme-switch/refs/heads/main/install.ps1 | iex
# Via npm
npm install -g alacritty-theme-switch
# Via JSR (Deno)
deno install -g -A -n ats jsr:@tichopad/alacritty-theme-switchDownload themes from the official repository:
ats download-themesSwitch themes interactively:
atsThe easiest way to install on Linux or macOS is using the install script:
curl -fsSL https://raw.githubusercontent.com/tichopad/alacritty-theme-switch/refs/heads/main/install.sh | shThis script will:
- Automatically detect your OS and CPU architecture
- Download the latest release binary for your platform
- Install it to
~/.local/bin/ats - Make it executable
After installation, you may need to add ~/.local/bin to your PATH if it's not
already there:
export PATH="$HOME/.local/bin:$PATH"The easiest way to install on Windows is using the PowerShell install script:
irm https://raw.githubusercontent.com/tichopad/alacritty-theme-switch/refs/heads/main/install.ps1 | iexThis script will:
- Automatically detect your CPU architecture (x86_64 only)
- Download the latest release binary for Windows
- Install it to
%LOCALAPPDATA%\Programs\ats\ats.exe - Add the installation directory to your user PATH
Note: You'll need to restart your terminal after installation for PATH changes to take effect.
npm install -g alacritty-theme-switchdeno install -g -A -n ats jsr:@tichopad/alacritty-theme-switchThe easiest way to get started is to download themes from a GitHub repository:
ats download-themesThis downloads all themes from the
official Alacritty themes repository
to ~/.config/alacritty/themes (or %APPDATA%\alacritty\themes on Windows).
License notice: When downloading themes, the repository's LICENSE file is also downloaded to preserve proper attribution. The default repository (alacritty/alacritty-theme) is licensed under the Apache License 2.0. If you download from multiple repositories, each license is saved separately to avoid conflicts.
Download from a custom repository:
ats download-themes --url https://github.com/user/custom-themesDownload to a custom directory:
ats download-themes --themes ~/my-themesDownload from a specific branch or tag:
ats download-themes --ref v1.0.0Run ats to open an interactive theme selector:
atsUse arrow keys or type to search, then press Enter to apply a theme. The currently active theme is highlighted.
Apply a specific theme without prompting:
ats --select monokai.tomlThe --select option takes a filename relative to your themes directory.
Create a TOML file in your themes directory (~/.config/alacritty/themes by
default):
# ~/.config/alacritty/themes/my-theme.toml
[colors.primary]
background = '#272822'
foreground = '#F8F8F2'
[colors.normal]
black = '#272822'
red = '#F92672'
green = '#A6E22E'
yellow = '#F4BF75'
blue = '#66D9EF'
magenta = '#AE81FF'
cyan = '#A1EFE4'
white = '#F8F8F2'
[colors.bright]
black = '#75715E'
red = '#F92672'
green = '#A6E22E'
yellow = '#F4BF75'
blue = '#66D9EF'
magenta = '#AE81FF'
cyan = '#A1EFE4'
white = '#F9F8F5'Theme files can contain any valid Alacritty configuration options, not just colors.
Customize paths and behavior with command-line options:
Options:
-c, --config <path> Path to Alacritty config file
(default: ~/.config/alacritty/alacritty.toml)
-t, --themes <path> Path to themes directory
(default: ~/.config/alacritty/themes)
-b, --backup <path> Path to backup file
(default: ~/.config/alacritty/alacritty.bak.toml)
-s, --select <file> Apply theme without prompting
-h, --help Show help
-v, --version Show version
On Windows, the default config directory is %APPDATA%\alacritty instead of
~/.config/alacritty.
Use a custom config location:
ats --config ~/dotfiles/alacritty.tomlUse a custom themes directory:
ats --themes ~/my-alacritty-themesWhen you apply a theme, alacritty-theme-switch:
- Creates a backup of your current Alacritty config
- Reads your main config file and the selected theme file
- Merges the theme into your config (theme values override existing values)
- Writes the merged config back to your main config file
- Saves the theme name to
.selected_themefor tracking
Note: Comments in your main config file are removed during the merge process due to TOML parsing limitations.
The tool works on Linux, macOS, and Windows. Default paths are platform-specific:
- Linux/macOS:
~/.config/alacritty/ - Windows:
%APPDATA%\alacritty\
You can override defaults with command-line options on any platform.
MIT
