First things

Set up your shell

A nicer terminal with Zsh and Oh My Zsh on Mac and Linux, or PowerShell 7 with a profile on Windows.

  1. Install Oh My Zsh
    Terminal
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

    Zsh is already your Mac's shell. This adds themes, plugins and a better prompt.

  2. Open your settings file to pick a theme or plugins
    Terminal
    open -e ~/.zshrc

    Change the ZSH_THEME line, save, then open a new terminal window.

Check it worked

  1. Check Oh My Zsh is loaded
    Terminal
    echo $ZSH

    You should see a path ending in .oh-my-zsh.

Undo it
  1. Remove Oh My Zsh
    Terminal
    uninstall_oh_my_zsh
  1. Install ZshNeeds sudo
    Terminal · Ubuntu / Debian
    sudo apt install -y zsh
  2. Make Zsh your default shell
    Terminal · Ubuntu / Debian
    chsh -s $(which zsh)

    Log out and back in for this to take effect.

  3. Install Oh My Zsh
    Terminal · Ubuntu / Debian
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Check it worked

  1. Check your shell
    Terminal · Ubuntu / Debian
    echo $SHELL

    You should see /usr/bin/zsh.

Undo it
  1. Go back to Bash
    Terminal · Ubuntu / Debian
    uninstall_oh_my_zsh
    chsh -s $(which bash)
  1. Install PowerShell 7
    PowerShell
    winget install Microsoft.PowerShell

    Windows comes with the older PowerShell 5. Open "PowerShell 7" from the Start menu afterwards.

  2. Create your profile (your settings file)
    PowerShell
    if (!(Test-Path $PROFILE)) { New-Item -Path $PROFILE -ItemType File -Force }
  3. Add a nicer prompt with Oh My Posh
    PowerShell
    winget install JanDeDobbeleer.OhMyPosh
    Add-Content $PROFILE 'oh-my-posh init pwsh | Invoke-Expression'

    Open a new PowerShell 7 window to see it.

Check it worked

  1. Check your PowerShell version
    PowerShell
    $PSVersionTable.PSVersion

    The Major number should be 7.

Undo it
  1. Remove Oh My Posh
    PowerShell
    winget uninstall JanDeDobbeleer.OhMyPosh

    Then delete the oh-my-posh line from your profile with `notepad $PROFILE`.