Skip to content

Pretty PowerShell that looks good and functions almost as good as Linux terminal

License

Notifications You must be signed in to change notification settings

hatifi1/powershell-profile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

192 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 PowerShell Profile (Pretty PowerShell)

A stylish and functional PowerShell profile that looks and feels almost as good as a Linux terminal.

⚡ One Line Install (Elevated PowerShell Recommended)

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

🛠️ Fix the Missing Font

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:

  1. Extract the cove.zip file.
  2. Locate and install the nerd fonts.

2) With oh-my-posh (loaded automatically through the PowerShell profile script hosted on this repo):

  1. Run the command oh-my-posh font install
  2. 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
  1. With the up/down arrow keys, select the font you would like to install and press ENTER
  2. DONE!

Customize this profile

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_Override now controls all maintenance work (connectivity checks, module installs, update checks). Set it to a higher value to reduce startup pauses, or to -1 to 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]

🔌 Serial helper (ss)

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.

About

Pretty PowerShell that looks good and functions almost as good as Linux terminal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 100.0%