TL;DR Alacritty + Tmux + Vim
I find the beauty of a development environment in its simplicity. How much an IDE or setup can do without external plugins is their true extent of utility.
I love minimalist setups, I don't like bloating the software with external plugins and themes just to make it look pretty. A config file saved somewhere in /home
directory is more elegant than GUI or Wizard. If you are like me, you will also love this minimalist terminal setup.
Alacritty
Alacritty is nothing but a terminal emulator. It does not have features that you'll generally find in an interactive terminal emulator. List all the things it does not have.
- Multiple tabs
- Preference Wizard
- Package Manager(of any kind)
- Built-in themes
- No GUI settings window of any kind.
List of things it is.
- Fast
- Simple
- Independent
- Extensible
- < 2.0 MB size
Alacritty is faster than any interactive terminal apps. It does not require extra setup or dependency to run. It can also apply settings from existing configuration files i.e. .bashrc
, .profile
etc.
Configurations
-
Color schemes: Open the
alacritty.yml
file located at~/.config/alacritty/alacritty.yml
move to thecolors:
variable. Change the respective color values to your liking. You can also visit this wiki to copy some cool color values.
# Colors (Ayu Dark)
colors:
# Default colors
primary:
background: '0x0A0E14'
foreground: '0xB3B1AD'
# Normal colors
normal:
black: '0x01060E'
red: '0xEA6C73'
green: '0x91B362'
yellow: '0xF9AF4F'
blue: '0x53BDFA'
magenta: '0xFAE994'
cyan: '0x90E1C6'
white: '0xC7C7C7'
# Bright colors
bright:
black: '0x686868'
red: '0xF07178'
green: '0xC2D94C'
yellow: '0xFFB454'
blue: '0x59C2FF'
magenta: '0xFFEE99'
cyan: '0x95E6CB'
white: '0xFFFFFF'
-
Fonts: In the same config file, move to the
font:
variable, undernormal:
variable and uncommentfamily:
append your favorite font name and style.
font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux) monospace
# - (Windows) Consolas
family: 'SF Mono'
# The `style` can be specified to pick a specific face.
style: Regular
-
Font Size: In the config file, move to
size:
variable and change the value, make sure you add.0
decimal after the integer.
# Point size
size: 11.0
-
Line Height: In the config file,
offset:
variable have two sub variablesx
andy
, wherey
can be called as line height andx
as the letter spacing.
offset:
x: 0
y: 0
Download
Alacritty is available for almost all the major platforms Linux, BSD, Windows, Mac etc. It is also available as bash file. You can download binaries and package files here.
Tmux
Something crucial that Alacritty does not have are tabs. We need tabs. We love leaving things on them tabs and CMD + T
onto next ones.
The solution to tabs in Alacritty is Tmux. Tmux is command line based window and session manager. With its key bindings Tmux becomes very powerful. You can simultaneously open up multiple sessions and leave jobs running until you visit them next time.
Download
Tmux can be directly downloaded from github or you can install it via package manager.
Vim
At last, Vim. It needs no introduction. I do not use any vim plugins other than color scheme files.
My settings
I've spent a great amount of time researching configuration options, color schemes and other settings so you don't have to. I have saved all my settings on my github ap4gh/settings repository. Just copy-paste them at their respective places.
Troubleshooting
Some vim config may misbehave. But don't worry I am here to help you out. Just send a message on my twitter.
Read next: The easiest way to create a blog with Gatsby
Top comments (8)
That looks quite similar to my reasoning and setup. The only reason I can't switch to alacritty yet (and I'm dying to!) is proper full screen support.
With iTerm2 I open my terminal, press cmd+enter and my terminal instantly covers my screen (no animation!). That feature is totally key for me.
Alacritty covers the screen too.
I did tried to maximize it using "CMD+ENTER" but it didn't, however if you click on the green maximize button, it will.
The keybinding for that feature(maximize) can be created in the
alacritty.yml
config file.oh but that's with the osx default animation right? I don't know of a way to disable that, and that's way too slow for my workflow since i maximize and resize many times for different things.
Will take another look when I got more time. Would love to be wrong on this one.
Your link to blog.amritpandey.dev/how-I-created... doesn't connect.
Hi! Thanks for reminding. I have updated that link now. You can read that post here diaryofdev.com/how-I-created-devdi...
I use i3wm and suddenly Tmux is no longer so relevant since everything is tabbed or tiled by default
yep same thing with dwm 😉
Thanks I was using hyper till now but alacritty is way much faster than hyper and sleeker.