Skip to content

Instantly share code, notes, and snippets.

@tsaqib
Last active January 19, 2026 06:57
Show Gist options
  • Select an option

  • Save tsaqib/baca4df6ded30bb40e3408a7dbcfbe8f to your computer and use it in GitHub Desktop.

Select an option

Save tsaqib/baca4df6ded30bb40e3408a7dbcfbe8f to your computer and use it in GitHub Desktop.
MacOS Terminal setup

Homebrew (https://brew.sh)

  • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Git

  • Open Terminal app and type in git and it should prompt you to install it
  • brew install fish
  • Install a NerdFont: https://www.nerdfonts.com/font-downloads
    • 'D2CodingLigature Nerd Font' at size 16 and line spacing 0.919 seems fine
    • 'Iosevka Nerd Font Mono' is good enough for editor font
  • Change default shell to Fish:
      # Need to add Fish to the list of standard shells:
      sudo -i
      sudo echo "$(which fish)" >> /etc/shells
      exit
      chsh -s $(which fish)
    
  • Starship for prompt customization: https://starship.rs
    • Create a new Terminal session to activate Fish as the default shell
        brew install starship
        echo "starship init fish | source" >> ~/.config/fish/config.fish
      
    • Pick a preset like so (e.g., https://starship.rs/presets/catppuccin-powerline): starship preset catppuccin-powerline -o ~/.config/starship.toml
  • btop https://github.com/aristocratos/btop: brew install btop
  • uv (http://docs.astral.sh/uv):
      brew install uv
      echo 'uv generate-shell-completion fish | source' > ~/.config/fish/completions/uv.fish
      echo 'uvx --generate-shell-completion fish | source' > ~/.config/fish/completions/uvx.fish
      uv python install --default
      uv python update-shell
      
      python --version
      python3 --version
  • fnm Fast Node Manager (https://github.com/Schniz/fnm):
      curl -fsSL https://fnm.vercel.app/install | bash
      mkdir -p ~/.config/fish/conf.d && echo "fnm env --use-on-cd --shell fish | source" > ~/.config/fish/conf.d/fnm.fish
      
      fnm install --lts
    
  • zellij (https://zellij.dev):
    • Installation is tricky -- download zellij-aarch64-apple-darwin.tar.gz from https://github.com/zellij-org/zellij/releases
    • Download the binary, move it to a local directory (e.g., ~/tools), try to run it and clear from Preferences -> Privacy and Security
    • fish_add_path /full/path/to/tools/no/shorthand
    • alias --save zj=zellij
  • eza (https://github.com/eza-community/eza):
      brew install eza
    
      # Inside Fish shell
      alias --save ls="eza -al --color=always --group-directories-first"
    
  • GitHub CLI (https://cli.github.com/): brew install gh
  • Bun (https://bun.sh): brew install oven-sh/bun/bun
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment