iterm-fish-fisher-osx

Complete guide and Bash script to install Command Line Tools + Homebrew + iTerm2 + Fish Shell + Fisher + Plugins for development purposes

View on GitHub

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 a lot of useful plugins for Fish Shell:

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 <(curl -s https://raw.githubusercontent.com/ghaiklor/iterm-fish-fisher-osx/master/install.sh)

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

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).

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

Find arbitrary unicode characters matching a search pattern. The last result match will be copied to your clipboard.

Bass makes it easy to use utilities written for Bash in fish shell.

A Powerline-style, Git-aware fish theme optimized for awesome.

Fish shell completions for Homebrew.

A fish plugin to automatically receive notifications when long processes finish.

Search for error codes, labels or messages via errno-grep.

fzy picks up history item and adds it to your shell. You need to execute manually.

Run fkill and type process you want to kill. fkill kills immediately. Press enter and process will be killed.

Generic Colouriser is yet another colouriser for beautifying your logfiles or output of commands.

Automatically add node_modules/.bin to PATH when present.

Pure-fish, Node.js version manager.

pj allows you to easily jump between your favourite directories in a predictable manner. You tell pj where to look for your projects, and it will allow you to jump to them easily with tab completion. It even provides a convenient ability to open an editor in that directory from anywhere!

Gets you to a parent folder, heavily inspired by the plugin upto made by driv.

z tracks the directories you visit. With a combination of frequency and recency, it enables you to jump to the directory in mind.

License

MIT