This is kind of Microsoft Windows version of our 8 years old guide on iTerm2, Homebrew and ZSH Installation on OS X. Windows 10 can not be made looking as great as Mac OS X iTerm2 but getting something closer looking is visually pleasing. It will consume many hours and days to get the thing completed. For getting the total thing done, we pointing towards the guides which work.
The first step is to install Windows Terminal. You must be running Windows 1903 or later to run Windows Terminal :
1 | https://github.com/Microsoft/Terminal |
To install Windows Terminal and run properly, you need to enable Developer Mode in the Windows Settings app, install Windows 10 1903 SDK, install VS 2019 with the modules – Desktop Development with C++,
Universal Windows Platform Development, C++ (v142) Universal Windows Platform Tools.
---
Next, you have to install WSL2. We have a guide on how to install WSL2.
Once you have the Windows Terminal open the WSL2 Linux tab and run :
1 2 3 | sudo apt-get install zsh sudo chsh -s $(which zsh) sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
restart the terminal for the changes to take effect. Edit ~/.zshrc
and set :
1 2 3 | ZSH_DISABLE_COMPFIX=true sudo apt-get install git git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k |
Edit ~/.zshrc
and set near the top of the file
1 | ZSH_THEME="powerlevel10k/powerlevel10k" |
You can run :
1 | p10k configure |
to customize the display of the shell. Install MesloLGS NF font, Powerline fonts for Windows and Solarized Dark theme for Oh-My-ZSH. These you’ll get on GitHub by some web search.
Open the Settings of Windows Terminal and edit it to make like mine. Do not copy-paste to fullest! The GUID lines like "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
should be yours one.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | // This file was initially generated by Windows Terminal 1.1.2021.0 // It should still be usable in newer versions, but newer versions might have additional // settings, help text, or changes that you will not see unless you clear this file // and let us generate a new one for you. // To view the default settings, hold "alt" while clicking on the "Settings" button. // For documentation on these settings, see: https://aka.ms/terminal-documentation { "$schema": "https://aka.ms/terminal-profiles-schema", "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", // You can add more global application settings here. // To learn more about global settings, visit https://aka.ms/terminal-global-settings // If enabled, selections are automatically copied to your clipboard. "copyOnSelect": false, // If enabled, formatted data is also copied to your clipboard "copyFormatting": false, // A profile specifies a command to execute paired with information about how it should look and feel. // Each one of them will appear in the 'New Tab' dropdown, // and can be invoked from the commandline with `wt.exe -p xxx` // To learn more about profiles, visit https://aka.ms/terminal-profile-settings "profiles": { "defaults": { // Put settings here that you want to apply to all profiles. "useAcrylic": true, "acrylicOpacity": 0.90, "initialCols": 170, "initialRows": 35, "theme": "solarized-dark", "showTabsInTitlebar": true, "showTerminalTitleInTitlebar": true, "wordDelimiters": " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502", "name": "Solarized Dark - Patched", "cursorColor": "#FFFFFF", "cursorShape": "bar", "fontFace": "MesloLGS NF", "fontSize": 12, "historySize": 9001, "black": "#002831", "red": "#d11c24", "green": "#738a05", "yellow": "#a57706", "blue": "#2176c7", "purple": "#c61c6f", "cyan": "#259286", "white": "#eae3cb", "brightBlack": "#475b62", "brightRed": "#bd3613", "brightGreen": "#475b62", "brightYellow": "#536870", "brightBlue": "#708284", "brightPurple": "#5956ba", "brightCyan": "#819090", "brightWhite": "#fcf4dc", "background": "#001e27", "foreground": "#708284", "badge": "#000000", "bold": "#819090", "cursor": "#708284" }, "list": [ { // Make changes here to the powershell.exe profile. "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "name": "Windows PowerShell", "commandline": "powershell.exe", "hidden": false }, { // Make changes here to the cmd.exe profile. "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", "name": "Command Prompt", "commandline": "cmd.exe", "hidden": false }, { "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", "hidden": false, "name": "Azure Cloud Shell", "source": "Windows.Terminal.Azure" }, { "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "useAcrylic": true, "acrylicOpacity": 0.90, // "backgroundImage": "<some cool wallpaper>", "backgroundImageOpacity": 0.1, "closeOnExit": true, "colorScheme": "One Half Dark", "cursorColor": "#FFFFFF", "cursorShape": "bar", "fontFace": "MesloLGS NF", "fontSize": 12, "historySize": 9001, "icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png", "padding": "0, 0, 0, 0", "snapOnInput": true } ] }, // Add custom colour schemes to this array. // To learn more about colour schemes, visit https://aka.ms/terminal-color-schemes "schemes": [ { "background": "#0C0C0C", "black": "#0C0C0C", "blue": "#1170b5", "brightBlack": "#5A6374", "brightBlue": "#61AFEF", "brightCyan": "#56B6C2", "brightGreen": "#98C379", "brightPurple": "#C678DD", "brightRed": "#E06C75", "brightWhite": "#DCDFE4", "brightYellow": "#E5C07B", "cyan": "#56B6C2", "foreground": "#DCDFE4", "green": "#98C379", "name": "One Half Dark", "purple": "#C678DD", "red": "#E06C75", "white": "#DCDFE4", "yellow": "#E5C07B" } ], // Add custom keybindings to this array. // To unbind a key combination from your defaults.json, set the command to "unbound". // To learn more about keybindings, visit https://aka.ms/terminal-keybindings "keybindings": [ // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json. // These two lines additionally bind them to Ctrl+C and Ctrl+V. // To learn more about selection, visit https://aka.ms/terminal-selection { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" }, { "command": "paste", "keys": "ctrl+v" }, // Press Ctrl+Shift+F to open the search box { "command": "find", "keys": "ctrl+shift+f" }, // Press Alt+Shift+D to open a new pane. // - "split": "auto" makes this pane open in the direction that provides the most surface area. // - "splitMode": "duplicate" makes the new pane use the focused pane's profile. // To learn more about panes, visit https://aka.ms/terminal-panes { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" } ] } |
You can see that I have altered many things here :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | "defaults": { // Put settings here that you want to apply to all profiles. "useAcrylic": true, "acrylicOpacity": 0.90, "initialCols": 170, "initialRows": 35, "theme": "solarized-dark", "showTabsInTitlebar": true, "showTerminalTitleInTitlebar": true, "wordDelimiters": " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502", "name": "Solarized Dark - Patched", "cursorColor": "#FFFFFF", "cursorShape": "bar", "fontFace": "MesloLGS NF", "fontSize": 12, "historySize": 9001, "black": "#002831", "red": "#d11c24", "green": "#738a05", "yellow": "#a57706", "blue": "#2176c7", "purple": "#c61c6f", "cyan": "#259286", "white": "#eae3cb", "brightBlack": "#475b62", "brightRed": "#bd3613", "brightGreen": "#475b62", "brightYellow": "#536870", "brightBlue": "#708284", "brightPurple": "#5956ba", "brightCyan": "#819090", "brightWhite": "#fcf4dc", "background": "#001e27", "foreground": "#708284", "badge": "#000000", "bold": "#819090", "cursor": "#708284" }, |
This is giving me a Solarized Dark Theme on PoweShell, Command Prompt when opened from Windows Terminal. You can edit the .nanorc
file like we have written here.
Here are two more useful guides :
1 2 3 | https://dev.to/nicole/windows-terminal-port-a-scheme-from-iterm2-customise-your-own-scheme-and-use-a-custom-font-fga https://medium.com/@slmeng/how-to-install-powerline-fonts-in-windows-b2eedecace58#:~:text=%20How%20to%20install%20Powerline%20fonts%20in%20Windows,then%20select%20%E2%80%9CWindows%20PowerShell%20%28Admin%29%E2%80%9D.%20Click...%20More%20 |