Skip to content

Instantly share code, notes, and snippets.

@ghaiklor
Last active December 5, 2022 11:14
Show Gist options
  • Star 67 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save ghaiklor/5c393e1c27cab79a9258 to your computer and use it in GitHub Desktop.
Save ghaiklor/5c393e1c27cab79a9258 to your computer and use it in GitHub Desktop.
iTerm 2 + fish + fisherman + Material Design + Meslo

iTerm2

NOTE: this gist is outdated, refer to this repository instead - https://github.com/ghaiklor/iterm-fish-fisher-osx

Install iTerm 2

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

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

Change default shell to fish:

chsh -s /usr/local/bin/fish

Install Oh My Fish

curl -L https://get.oh-my.fish | fish

If something goes wrong call omf doctor.

Install Theme

Bob The Fish is based on agnoster theme, which was the choise for me before Bob The Fish:

omf install bobthefish

Install Plugins

Sparklines for your shell. More documentation is available here. For instance, you can use it to quickly build a sparkline for Git commits by author git shortlog -s | cut -f1 | spark.

Fish Shell plugin for generating github licenses. As an external dependency it requires jq to be installed.

Display battery slots in your terminal by calling battery.

Completion support for git-flow. The contained completion routines provide support for completing git-flow init and version, feature, hotfix and release branches.

Wait last background job with a nice progress spinner. sleep 10 & await, git pull origin master & await, etc...

Computes string digests using various hashing algorithms. hash md5 "Hello World!", cat myfile.txt | hash md5...

Translate error codes to return status codes or lookup them by message strings. It has autocomplete, so you can easily navigate through errno and strerror.

Oh My Fish plugin to integrate Homebrew paths into shell.

Automatically add node_modules/.bin to PATH when present. Useful, when you don't want to have globally installed npm packages, but has local installments in your project. It allows to call, i.e. mocha as it was installed globally, but from your current project folder.

A grc plugin plugin for Oh My Fish which colorized output of many default commands like ls, netstat, etc... It uses an externaly dependency grc, which must be installed.

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!

This plug-in creates the necessary function to be used with The Fuck.

brew install jq &&
brew install grc &&
brew install thefuck &&
omf install spark &&
omf install license &&
omf install battery &&
omf install git-flow &&
omf install await &&
omf install hash &&
omf install errno &&
omf install brew &&
omf install node-binpath &&
omf install grc &&
omf install pj &&
set -gx PROJECT_PATHS ~/Library/Projects &&
omf install thefuck
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment