A stylish and functional PowerShell profile that looks and feels almost as good as a Linux terminal.
Execute the following command in an elevated PowerShell window to install the PowerShell profile:
irm "https://github.com/hatifi1/powershell-profile/raw/main/setup.ps1" | iex
After running the script, you'll have two options for installing a font patched to support icons in PowerShell:
1) You will find a downloaded cove.zip file in the folder you executed the script from. Follow these steps to install the patched Caskaydia Cove nerd font family:
- Extract the
cove.zipfile. - Locate and install the nerd fonts.
2) With oh-my-posh (loaded automatically through the PowerShell profile script hosted on this repo):
- Run the command
oh-my-posh font install - A list of Nerd Fonts will appear like so:
PS> oh-my-posh font install
Select font
> 0xProto
3270
Agave
AnonymousPro
Arimo
AurulentSansMono
BigBlueTerminal
BitstreamVeraSansMono
•••••••••
↑/k up • ↓/j down • q quit • ? more
- With the up/down arrow keys, select the font you would like to install and press ENTER
- DONE!
Do not make any changes to the Microsoft.PowerShell_profile.ps1 file, since it's hashed and automatically overwritten by any commits to this repository.
After the profile is installed and active, run the Edit-Profile function to create a separate profile file [profile.ps1] for your current user. (When you install this fork via setup.ps1 for the first time, a template Profile.ps1 is created automatically that already contains $repo_root_Override = "https://raw.githubusercontent.com/hatifi1" and commented examples for the other overrides—edit that file anytime.) Add any custom code, and/or override VARIABLES/FUNCTIONS in Microsoft.PowerShell_profile.ps1 by adding any of the following Variable or Function names:
THE FOLLOWING VARIABLES RESPECT _Override:
$EDITOR_Override $debug_Override $repo_root_Override [To point to a fork, for example] $timeFilePath_Override $updateInterval_Override
Tip:
$updateInterval_Overridenow controls all maintenance work (connectivity checks, module installs, update checks). Set it to a higher value to reduce startup pauses, or to-1to force maintenance every launch.
THE FOLLOWING FUNCTIONS RESPECT _Override: (do not call the original function from your override function, or you'll create an infinite loop)
Debug-Message_Override Update-Profile_Override Update-PowerShell_Override Clear-Cache_Override Get-Theme_Override WinUtilDev_Override [To call a fork, for example]
The ss shortcut helps when jumping between multiple serial adapters or saved tio sessions:
ss # list detected COM ports
ss 10 # connect to COM10 (alias for COM ports by number)
ss session-name # open a saved tio session
When a COM port is selected the profile launches tio.exe at 115200,8,n,1. Ensure tio is installed and available on PATH (e.g., via the Windows package). If no Plug-and-Play metadata is available the helper falls back to .NET's SerialPort list so you always see what Windows currently exposes.