iterm-fish-fisher-osx

by ghaiklor

Complete guide and Bash script to install Command Line Tools + Homebrew + iTerm2 + Fish Shell + Fish...

228 Stars 34 Forks Last release: 2 months ago (v1.3.0) MIT License 121 Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

iTerm 2 + Fish Shell + Fisher + Themes\Plugins

This guide is targeted for those, who wants to have a nice UI in the terminal with the rich features.

Please, raise your issue if something strange happened. I'd like to improve this script, so it could work without any errors during the installation.

The Problem

Every time, I've re-installed my operating system, I spend around ~30 minutes to set up my terminal environment again. I bored of it, so I decided to make a list of all actions I doing, when setting it up, alongside with automatic script to do so, and share it with you all.

Screenshots & GIFs

They are available here.

Key Features

The script installs things related to terminal environment only:

  • Installs Command Line Tools, Homebrew, iTerm2, Fish, Fisher.
  • Installs Material Design color preset for iTerm2 and patched Meslo Nerd Font.
  • Theme
    bobthefish
    , which is based on popular
    agnoster
    .
  • Completions for
    brew
    ,
    git
    ,
    ./node_modules/.bin
    and others...

Installs a lot of useful plugins for Fish Shell:

  • bass
    plugin that makes easy to use scripts written for Bash Shell in Fish Shell.
  • Plugin
    done
    that notifies you when the process is finished. i.e. you can run
    npm install
    command and switch back into your browser. When
    npm install
    is done, you will get OSX notification.
  • fzy
    plugin adds a hotkey Ctrl+R that allows to show and search in your command history.
  • pj
    function allows to easily jump between your favorite directories. It installs with configured
    ~/Library/Projects
    folder, so you can jump to any of your projects by calling
    pj 
    .
  • upto
    function gets you to a parent folder. I.e. you're inside
    a/b/c/d/e/
    , calling
    upto b
    will navigate you into
    a/b
    .
  • ...and others, you can find the full list below in manual guide.

How To Setup

You can achieve the same setup as mine, by manually setting up the environment (following the guide below) or automatically by executing the installer

install.sh
.

Automatic Installation

Highly recommended to run the script below under Bash session in default Terminal.app. I can not guarantee proper installation outside of Terminal.app + Bash Shell.

bash 

Manual Installation

Command Line Tools

You don't need to install the whole Xcode for it. By executing the command below, you will get only the command line tools without heavy IDE and dependencies it take:

xcode-select --install

Homebrew

Homebrew is a software manager for MacOS. Its purpose is like the purpose of

apt-get
on Debian-based systems or
yum
on Fedora. You can install command line tools from there or even full-featured applications.

Install Homebrew

iTerm2

Install iTerm 2

  • Download and install iTerm2 (it has better color fidelity than the built in Terminal).

or install it via Homebrew:

brew cask install iterm2

Install Color Scheme

Get the iTerm color settings:

Just save it somewhere and open the file(s). The color settings will be imported into iTerm2. Apply them in iTerm through iTerm -> Preferences -> Profiles -> Colors -> Load Presets. You can create a different profile, other than Default if you wish to do so.

Install Patched Font

Open the downloaded font and press "Install Font".

Set this font in iTerm2 (iTerm -> Preferences -> Profiles -> Text).

  • Regular Font -> "Change Font"
  • Non-ASCII Font -> "Change Font"

Restart iTerm2 for all changes to take effect.

Fish Shell

Install Fish Shell

Download and install Fish Shell.

or using Homebrew:

brew install fish
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish

Install Fisher

Fisher is a plugin manager for Fish Shell.

curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish

Install Themes and Plugins

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.