loading...
Cover image for alacritty-themes: A CLI tool to set themes for alacritty terminal

alacritty-themes: A CLI tool to set themes for alacritty terminal

rajasegar profile image Rajasegar Chandran ・2 min read

In this post we are going to take a look at a new CLI tool I have created for customizing colors for your alacritty terminal.

What is alacritty?

alacritty is a cross-platform, GPU-accelerated terminal emulator written in Rust. Using the GPU for rendering enables optimizations that simply aren't possible without it. It currently supports macOS, Linux, BSD, and Windows.

It is incredibly fast and responsive to the extent that I have replaced iterm2 with alacritty for my Macbook, my Ubuntu Laptop and my RasberryPi ArchLinux system. I have been using it for a while now and I really love it.

You can config your alacritty terminal by having a config file called alacritty.yml in your home folder like ~/.config/alacritty/alacritty.yml

alacritty-themes CLI

Configuring your terminal with yml files is definitely fun. But when it comes to customizing colors it definitely needs an intuitive tool for the job. That's why I have created alacritty-themes for that.

To find the list of themes, you can visit the alacritty wiki page

The CLI offers 50+ Themes to choose from, an option to create your alacritty.yml config file with a simple, easy and intuitive user experience.

It is using yaml and inquirer npm packages for parsing the config yml and giving a list of themes to choose from the terminal respectively.

How do I install it?

Install the alacritty-themes package globally with npm

npm i -g alacritty-themes

If you are using npx you don't have to install the package:

npx alacritty-themes

How do I select themes?

alacritty-themes

alacritty-themes demo gif

Choose the theme from the list of options and press Enter to apply.
You can also navigate with j and k keys for up/down, courtesy of inquirer. The list of
options are cycled through automatically so you can go to the last theme
by just pressing up arrow key.

I am using the One-Dark theme, you also have popular themes like Dracula, Monokai, etc.,

If no alacritty.yml is found in your $HOME path, it will ask you to create one.
You can choose to create one by confirming (y/n) and apply the selected theme.

Bonus Tip: Alias

You can also create an alias for alacritty-themes like at
Just append this below line to your ~/.bashrc or ~/.bash_profile

alias at='alacritty-themes'

Now you can simply use at to choose themes for your alacritty terminal.

at

If you have any feedback in improving the tool, or queries about the tool, please let me know in the comments. Also try alacritty as your terminal emulator and tell us what is your favorite theme.

Posted on by:

rajasegar profile

Rajasegar Chandran

@rajasegar

Javascript Toolsmith, Front-end developer

Discussion

markdown guide
 

Hi, thanks for the awesome plugin, however, I am getting this error on running it on Linux Mint 19.3 Cinnamon.

internal/fs/utils.js:220
throw err;
^

Error: ENOENT: no such file or directory, scandir './themes'
at Object.readdirSync (fs.js:854:3)
at Object. (/home/moinmoti/.nvm/versions/node/v12.13.1/lib/node_modules/alacritty-themes/bin/cli.js:7:19)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
at internal/main/run_main_module.js:17:11 {
errno: -2,
syscall: 'scandir',
code: 'ENOENT',
path: './themes'
}

 

So it requires the user to create a "themes" directory and save all themes in ".yml" individual files. And the command must be called in the parent directory of "themes". I think these instructions should be mentioned in the README.

 

Sorry for the trouble, it was a bug due to the file system path reference, it's fixed in the latest version 1.1.4, please check and let me know. Thanks a lot for reporting that...
And you don't have to create any folder for themes or copy files, just install the program and run the command or use npx directly

 

I love this, I always hated the classic way of changing my colorscheme! Thanks for this awesome tool :)