DEV Community

Dylan Tientcheu
Dylan Tientcheu

Posted on • Originally published at Medium on

Transforming your ugly Windows terminal to a Unicorn

This is what we are aiming for

You are on Windows and you often hear other platforms users bragging along with their super ‘rainbow spitting’ command prompt. Worry not, you too can get an awesome looking terminal.

The steps to follow are listed below:

1. Install WSL

https://docs.microsoft.com/en-us/windows/wsl/install-win10 (clear and easy steps to install WSL).

2. Installing Your Terminal

The result above is achieved with Fluent Terminal by Felixse. This terminal is just great on Windows because it smoothly replaces Powershell or CMD keeping all the features and enabling you to easily switch between both at anytime. It also comes with great performance and a beautiful settings interface.

Did I say it respects Windows Fluent Design ? 😍

This software is still in early development stages, but it’s stable enough (for me) to work with it as a default terminal. The easiest steps to install Fluent Terminal is :

  1. Install Chocolatey

  2. From an elevated/admin shell, execute choco install fluent-terminal

Another beautiful result could be obtained with Hyper Terminal (regardless of your OS — because Hyper is cross platform) following this tutorial from Syed Sharizal, from which this tutorial was inspired 💪🏾.

3. Setting up Fluent Terminal

Choosing your terminal’s profile

In order to get a terminal with UNIX functionalities we have to switch to WSL, simply because, this cannot be achieved with the Windows Command nor the Powershell.

4. Install ZSH

  • Run sudo apt-get install zsh
  • Open your bash_profile vim ~/.bashrc — Get your vim knowledge straight with this cheatsheet.
  • Set your ZSH as default (follow the #comments to find your way through the files).
bash -c zsh
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
 \*i\*) ;;
 \*) return;;
esac
Enter fullscreen mode Exit fullscreen mode

5. Install Oh My ZSH

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout…

To install Oh My ZSH run this command.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

6. Configuring Oh My ZSH

By now you already have the horse 🐴. It’s time to make it a unicorn 🦄.

Through the following steps, feel free to configure everything to your desire and feels;

  • Theming your OMZ — Install PowerLevel9K
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
Enter fullscreen mode Exit fullscreen mode

Select this theme in your ~/.zshrc by adding this line

ZSH\_THEME="powerlevel9k/powerlevel9k"
Enter fullscreen mode Exit fullscreen mode
  • Installing Powerline fonts

These fonts help you get the arrows and git icons you can see on the left part of the prompt.

I use nerd fonts rather than powerline fonts because I think the latter’s repository is less maintained.

Nerd Fonts is a project that patches developer targeted fonts with a high number of glyphs (icons). Specifically to add a high number of extra glyphs from popular ‘iconic fonts’ such as Font Awesome, Devicons, Octicons, and others.

  1. Open http://nerdfonts.com/
  2. Go to downloads, then choose your font and download it
  3. Install it as you’d install any font on windows
  4. Add the font to Fluent Terminal —  Settings → Terminal → Font family
  5. Add the NerdFont compatibility using vim .zshrc then add the following line just under the previous ZSH_THEME
POWERLEVEL9K\_MODE='nerdfont-complete'
Enter fullscreen mode Exit fullscreen mode
  • Further customizations

Once you have powerlevel9k, everything is pretty much on your side. You can configure it to your liking.

These are resources to help you customize

🦄 — My own .zshrc config

🦄 — Powerlevel9k customization docs

🦄 — Nerds showing off their config — along with config files

More…

If ever some information sound off or “new” to you. Remember, this tutorial was inspired from many others some are below

Top comments (3)

Collapse
 
petecapecod profile image
Peter Cruckshank

Awesome man I can't wait to set this up 🤩👐👐 I've set up zsh in WSL but I couldn't get the theme working. This is gonna be sweet!

Collapse
 
dylantientcheu profile image
Dylan Tientcheu

Hi, once it is set up would you mind sending me a screenshot of what it looks like ? 😍

Collapse
 
petecapecod profile image
Peter Cruckshank

Totally I've got it setup. So I'll screenshot it today here 👍