I do my personal coding on a Macbook Pro running macOS. My favourite terminal application is iTerm2, and I use it daily when working on open source software. You can tweak the appearance and behaviour of iTerm2's console really easily and in a granular fashion.
I also own a Windows desktop machine, which I have around to test my own software on. It took me a while to get a pretty and cohesive experience set up for an enjoyable experience on Windows, so I am sharing my setup with you in case you would also like a similar aesthetic.
First things first - there is a rad NodeJS terminal app written in Electron called hyper that you can install and will require less tweaking than my setup. I chose not to run hyper because my machine does not have super impressive hardware specs. The machine runs too slowly to support an Electron app in addition to my web browser and code editor, because Electron apps are a Chrome browser and NodeJS process in one running package. Running a native terminal application makes a bit more sense for my use case.
Here is what the final result looks like:
The whole desktop (view image in a new tab to zoom):
If you'd like a similar look, here are the steps involved:
1. Install Github Desktop
The most efficient way to get a 'unix-like' experience on Windows is to install git bash via Github Desktop. Using git bash is a big win for unix-like shell command consistency, and you'll have git automatically installed and working out of the box for you.
Download Github Desktop for Windows and install it. When you run it for the first time, it'll prompt you to log in with your Github account. Once you're all logged in, leave Github Desktop open for later.
2. Configure your prompt
You can now run the Shell program included with Github Desktop by finding it in your Start menu under the Github directory. The terminal that opens is running git-bash, and you should find git working out of the box, as well as the typical unix commands such as
if you'd like to tweak your shell prompt, you should be able to find it by looking in your user directory's AppData/Local files. The full path will probably look something like this:
You can reference / use my shell prompt to get started, if you like! It is below.
But the terminal still doesn't look super pretty yet, huh? Not to worry! Let's use consoleZ to tweak the appearance a little further!
3. Install and configure consoleZ
consoleZ is a wrapper application for your terminal of choice. It unlocks some cool appearance configurations that you won't get by running git-bash or Powershell alone. It's the best one I've found to have control over fonts, colours, background transparency, etc.
Install consoleZ by following the instructions in the consoleZ repo's README.
Once you boot it up, open the settings by hitting Ctrl + S, and you'll see lots of settings you can tweak to your heart's content. Before you do that though, we need to tell consoleZ to run our git-bash shell that Github Desktop installed for us. Under the 'Console' pane of the settings, in the 'Shell' input field, type
bash.exe —login -i.
Once you save your settings, you might notice that consoleZ pops up an error and doesn't work anymore! Not to worry, we're going to fix that in the next step!
4. Point Github Shell at consoleZ
Switch back to Github Desktop. Open up the settings pane by clicking the little gear on the top right of the Github Desktop GUI. Within the 'Default shell' section, choose 'Custom' and fill in the input underneath with the path to where you installed consoleZ (it might be different to my example below):
5. Start up Github Shell
In order to start up your terminal from now on, you'll need to run Github Shell. You have a couple of options to do this. You'll find it in your Start menu under Github, you can pin it to your tiles in your Start menu as a shortcut, or you can launch Github Shell from the Github Desktop application.
If all has been set up correctly, you should see consoleZ start up, with git-bash running inside! Yay! From here, you can access the settings and tweak the appearance and other properties to your heart's content.
I am using a colour theme called 'space gray'. If you'd like to reference or start with my configuration file instead of manually doing it in the settings, go for it! You should be able to find your consoleZ settings by looking for a console.xml file in your user's AppData/Roaming directory. My path looks like this:
Enjoy your pretty terminal! If you follow these steps and they work out for you, I'd love to see you share a screenshot in the comments!