Elevate Your Windows 11 Terminal: A Guide to Awesomeness!
Published: 2023-05-22 17:29:06

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675711639156/2510555c-d998-498a-b21c-be9d20ca69cc.jpeg)

When developing applications we are always using the terminal, so why not make it look half-decent by using themes and plugins to improve our workflow?

We will be using WSL2 (Windows Subsystem for Linux) to make our terminal look and feel awesome while also installing plugins to improve our productivity when using the terminal.

Let me cut to the chase and get you started on making your terminal look awesome.

_Just a side note, before you get started you may need to enable_ **_virtualization_** _on your machine._

---

### 1\. Install Windows Terminal

1. In the **Microsoft Store** app on Windows, install [Windows Terminal](https://www.microsoft.com/store/productId/9N0DX20HK701)

### 2\. Install Ubuntu

1. In the **Microsoft Store** app on Windows, install [Ubuntu](https://www.microsoft.com/store/productId/9PDXGNCFSCZV)
2. Once you have installed the app, search for it and open it.
3. You will be asked to enter your **UNIX username** and **password** as shown below:

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675710579352/a4aed280-cda9-4a86-9b6d-0f8a4350ee2b.png)

4. Once you have created your UNIX user, you will see the following:

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675710626352/030aa74f-0c21-485c-8170-54a0482b2c6b.png)

5. Now we can start installing some packages!

### 3\. Installing Zsh (Z shell)

1. Before we get started installing our shell, let's resynchronize the package index files from their sources by typing `sudo apt update` in the command line.
2. Now, let's install **Zsh** using `sudo apt install zsh -y`

### 4\. Installing Oh My Zsh

If we want to be able to install custom themes and plugins we will need to install this awesome framework for **Zsh** called **Oh My Zsh**.

1. First, let’s install cURL using `sudo apt-get install curl`
2. Now, type the following to install Oh My Zsh:

   ```bash
   sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
   ```

3. At this point your terminal should look like this:

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675710864015/4b5aa30c-6591-438a-8345-904288daf065.png)

### 5\. Configuring Our Windows Terminal

Before we continue to install our custom themes and plugins, let’s change our settings in our Windows Terminal.

1. First, let’s head over to the settings in our Windows Terminal

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675710939488/41abdec6-0bf9-44ea-ba70-60fc23fcfcaf.png)

2. Now, under **Profiles**, click **“Add a new profile”**
3. Select the dropdown for **“Duplicate a profile”** and choose **“Ubuntu**"

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675712179971/033cc501-4238-4d26-a3a2-b5b17143e1a8.png)

4. Now, just click the **blue “Duplicate” button**.
5. You can now click into your new **“Ubuntu”** profile that you just created and edit the name and starting directory for now.

   1. For the name, I just changed “**Ubuntu (Copy)”** to **“Ubuntu”**
   2. For the working directory, I changed this to where I keep all of the projects that I work on.

      1. **NOTE:** When using Linux `C:\dev` will instead be `/mnt/c/dev`

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675711171769/ea17b69d-b31d-4ecf-8625-29e8e702d0d9.png)

6. Now let’s start changing the look of our terminal. Scroll down to the bottom of the profile that you created and click **“Appearance”.**

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675711223344/62ace63d-9746-4fdb-b706-cbe004897c4d.png)

7. I will be changing the “**Color scheme”** to a color palette that I use across multiple programs which is called **Nord**. I will also be changing the **“Font face”** to **Fira Code** and the “**Font size”** to **13**

   1. **NOTE:** You should download **Fira Code** or any other **Nerd Font** to make sure icons show when you install custom themes.

      - To download a font go to [nerdfonts.com](https://www.nerdfonts.com/font-downloads)

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675711361301/b3a1d2df-4089-4399-ba18-63b226b3e3b2.png)

8. Now, we just need to change two more settings to be done with configuring the terminal. Scroll down until you see **“Transparency”** change the **“Background opacity”** to **70%** and make sure **“Enable acrylic material”** is set to **On**.

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675711375271/1e1ecf4d-8001-4e1e-b92f-302c73065215.png)

9. At this point our terminal should look like this, will probably be a different color depending on what color scheme you choose

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675711383337/5b73c57a-65ea-4dab-997b-f89e3423427e.png)

### 6\. Installing A Minimalistic Theme

For our theme, we will be installing [**spaceship-prompt**](https://github.com/spaceship-prompt/spaceship-prompt)**.** This is a great theme as it is very minimal and clean.

1. First, we need to clone it

   ```bash
   git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
   ```

2. Now we need to Symlink `spaceship.zsh-theme` to your oh-my-zsh custom themes directory:

   ```bash
   ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
   ```

3. Now we need to edit our `.zshrc` file, type the following to edit our config in VSCode

   ```bash
   code ~/.zshrc
   ```

4. Set `ZSH_THEME="spaceship"` in your `.zshrc`
5. Now, at the bottom of your `.zshrc` copy and paste the following spaceship-prompt options:

   ```bash
   # spaceship-prompt options
   SPACESHIP_PROMPT_ADD_NEWLINE="true"
   SPACESHIP_CHAR_SYMBOL=" \\uf0e7"
   SPACESHIP_CHAR_SUFFIX=(" ")
   SPACESHIP_CHAR_COLOR_SUCCESS="yellow"
   SPACESHIP_PROMPT_DEFAULT_PREFIX="$USER"
   SPACESHIP_PROMPT_FIRST_PREFIX_SHOW="true"
   SPACESHIP_USER_SHOW="true"

   export LS_COLORS="di=34;40:ln=36;40:so=35;40:pi=33;40:ex=32;40:bd=1;33;40:cd=1;33;40:su=0;41:sg=0;43:tw=0;42:ow=34;40:"
   zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
   ```

6. Great, we are almost there now, all we need to do is to download some awesome plugins for better productivity

### 7\. Installing Plugins

There are a lot of plugins for Zsh so I will only show you how to install one plugin using **Oh My Zsh**.

The top plugins that people install are [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions), [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting), etc so let's install `zsh-autosuggestions`

1. First, type the following:

   ```bash
   git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
   ```

2. Now we need to edit our `.zshrc` file, type the following to edit our config in VSCode

   ```bash
   code ~/.zshrc
   ```

3. Now we need to say which plugin we would like to load:

   ```bash
   plugins=(git zsh-autosuggestions)
   ```

4. As you can see now we are getting a suggestion on what we may want in our code editor.

   ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1675717811235/7e7258ab-0f44-467d-af58-2e822d188461.png)

Congrats🎉 You are done with making your terminal look superior, I hope you will find this useful and use something like this going forward since it definitely does make your time in the terminal more fun.

&nbsp;

### Thanks for reading!

Have a question? Connect with me via [Twitter](https://twitter.com/dylansleith) or send me a message at hello@dylansleith.com