A CLI and interactive TUI to switch between Alacritty themes.
- Interactive TUI - Visually browse and select themes with live color preview
- Dark/Light tabs - Filter themes by category with tabbed navigation
- Fuzzy search - Type to filter themes in real-time with fuzzy matching
- List themes - View all available themes in your themes directory
- Check current - See which theme is currently active
- Quick switch - Switch to any theme by name from the CLI
- Download themes - Fetch theme collections directly from GitHub
- Configurable - Set your themes directory, preview preferences, and more
| Tool | Language | Execution Time |
|---|---|---|
| ats | TypeScript | ~618ms |
| althemer | Rust | ~13ms |
cargo install althemercargo binstall althemerDownload the latest release binary for your platform from the Releases page.
git clone https://github.com/xdagiz/althemer
cd althemer
cargo install --locked --path .- Alacritty
- A themes directory with
.tomlalacritty theme files
Launch the interactive theme picker:
althemeralthemer -t /path/to/themes # Custom themes directory
althemer -c /path/to/config # Custom config file location
althemer -a /path/to/alacritty.toml # Custom alacritty config filealthemer listalthemer currentalthemer switch <theme-name># download from the default github repo [alacritty/alacritty-theme]
althemer download
# download from a specific repo
althemer download https://github.com/user/repo # or just user/repo
# use -b to specify the branch
althemer download https://github.com/user/repo -b develop
# -f will overwrite existing themes
althemer download -fAlthemer looks for themes in:
--themes/-tCLI argumentthemes_dirin config file (default: thethemesdirectory next to the alacritty config)
And for the alacritty config file in:
--alacritty-config/-aCLI argumentALTHEMER_ALACRITTY_CONFIGenvironment variablealacritty_configin config file~/.config/alacritty/alacritty.toml(on macOS:~/Library/Application Support/alacritty/alacritty.toml)
Passing --config / -c skips the search. If that file is missing or broken, althemer stops with an error.
Without the flag, althemer checks in order:
$XDG_CONFIG_HOME/althemer/config.json(ifXDG_CONFIG_HOMEis set to an absolute path)~/.config/althemer/config.json<platform config dir>/althemer/config.json(on macOS:~/Library/Application Support/althemer/config.json)
Althemer reads the first path that exists, so a macOS install under Application Support keeps working. With no config on disk, althemer writes a new one to the first spot in the list.
{
"themes_dir": "/home/xdagiz/.config/alacritty/themes",
"alacritty_config": "/home/xdagiz/.config/alacritty/alacritty.toml",
"show_preview": true,
"quit_on_select": false,
"picker_reversed": false,
"picker_sort_results": true
}| Option | Type | Default | Description |
|---|---|---|---|
themes_dir |
string | ~/.config/alacritty/themes |
Path to directory containing .toml theme files |
alacritty_config |
string | ~/.config/alacritty/alacritty.toml |
Path to the alacritty config file to rewrite |
show_preview |
bool | true |
Show color palette preview in TUI |
quit_on_select |
bool | false |
Exit TUI after applying a theme |
picker_reversed |
bool | false |
Reverse the picker display order |
picker_sort_results |
bool | true |
Sort fuzzy search results by relevance |
You can interactively configure these options by running:
althemer configureContributions are welcome! Please feel free to submit a Pull Request.
By xdagiz

