How to get the most out of your Terminal
For years I rarely ever used the terminal, and anytime I did use it was for monitoring cloud servers over ssh
. But, a properly configured Terminal can be a huge productivity boost for any developer or tech-savvy power user. While my configurations only scratches the surface of possibilities, a quick google search will yield more advanced configuration settings you can tinker with. But, I think my setup is a good foundation for anyone wanting something sleek that only takes 10 minutes to setup.
While there are more modern shells like https://fishshell.com that I recommend you check out, I am only going to focus on
zsh
andbash
for this guide
Step 1 — Installing Alacritty
Alacritty is a cross-platform terminal emulator that is fast. Like really fast. This is because it uses OpenGL to offload some of the processing to your GPU, a feature very few terminal emulators have. For this reason, I highly recommend it over the default emulator that comes with your system.
Refer to the Alacritty installation guide for help if needed, but you can install it using any package manager for your system.
For MacOS, run brew install alacritty
. From here you should now be able to open Alacritty just like any other application on your system. Assuming you have no other terminal configurations in your .zshrc
, you should see something like this
It’s pretty bland, but Starship will fix that for us.
Step 2 — Installing Starship
Starship is a cross-shell prompt that not only looks great out of the box, but has a tremendous amount of features. After this guide, I highly recommend taking a look over their documentation because you can practically customize every single aspect of your shell with Starship.
You can install Starship with your favorite package manager just like alacritty
. For MacOS, run brew install starship
in your terminal.
After this, we need to create initialize starship whenever we launch our shell.
Step 3 — Shell Color Scripts
This is how I get the ascii art whenever my terminal opens up. On MacOS, I have heard there can be an issue with the executable not finding ls
correctly, but this can be fixed by reading the output error and replacing it with the result of whatever whereis ls
returns.
I use DistroTube’s Shell Color Scripts for both of my machines and install it with the following commands
git clone https://gitlab.com/dwt1/shell-color-scripts.git
cd shell-color-scripts
rm -rf /opt/shell-color-scripts || return 1
sudo mkdir -p /opt/shell-color-scripts/colorscripts || return 1
sudo cp -rf colorscripts/* /opt/shell-color-scripts/colorscripts
sudo cp colorscript.sh /usr/bin/colorscript
Now with everything installed, we have to create our configuration file.
Step 3 — Shell Configuration Files
This is where the steps change depending if your using bash
or zsh
. But, both instructions mention something called the $HOME
directory (also denoted by the ~
symbol). By default this path is /Users/username
for Mac, and /usr/username
for Linux.
For bash
If you’re using bash
, you’re going to want to open your bash config file, or .bashrc
. Run touch ~/.bashrc
to create this file, and open it in your favorite text editor (VSCode works great).
Note: You may not see any changes because you have a
~/.bash_profile
that is conflicting being loaded instead. Combine them into one file named either~/.bashrc
or~/.bash_profile
, or delete the one that you don’t need.
Add the following to the bottom
### COLOR SCRIPT ###
colorscript -e crunch### STARSHIP ###
eval "$(starship init bash)"
For zsh
If you’re using zsh
, you’re going to want to open your zsh config file, or .zshrc
. Run touch ~/.zshrc
to create this file. Open it in your favorite text editor.
Add the following to the bottom
### COLOR SCRIPT ###
colorscript -e crunch### STARSHIP ###
eval "$(starship init bash)"
Step 4— SpaceVim (Optional)
Not everyone likes vim
, and I get that. I was the same way — until I tried SpaceVim. SpaceVim is has all the great plugins, styling, and features all in a nice little bundle you install with one line and it just works. Look at how this transforms vim into a productivity powerhouse
Installing is fast and simple — just run the following in a terminal
curl -sLf https://spacevim.org/install.sh | bash
And thats it, your vim
should now look like this: with directory tree functionality, multiple tabs, window splitting, terminals, and more. I could talk all day about SpaceVim, but I recommend you check out the documentation and some YouTube videos about it if you want to learn more 😃
Success!
After closing Alacritty and opening it up again, you should see a terminal exactly like mine. If not, please leave a comment and I can help figure out what isn’t working and update my guide accordingly.
If you’re wanting to add more features to your config, a good place to start is by googling bashrc dotfiles github
or zshrc dotfiles github
. You can see what everyone else is putting in their configs, and copy and paste the bits that you want!