• Stars
    star
    339
  • Rank 124,632 (Top 3 %)
  • Language
    Shell
  • License
    Creative Commons ...
  • Created over 8 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🐡 Tutorial: Fish, Fisher, Powerline Fonts + iTerm2

Fish Shell

Fish Shell Setup OS X Open Source Love Gitter Chat

Terminal Setup for OS X with Fish Shell, Fisher, Powerline Fonts and iTerm2.

Fish Shell

Quick Install

Can't wait to run the fish shell? You can run the install.sh to install the Fish Shell, Fisher, Powerline Fonts and iTerm2.

curl https://raw.githubusercontent.com/ellerbrock/fish-shell-setup-osx/master/install.sh | bash

iTerm2

Powerline Fonts

brew install fontconfig
cp /usr/local/etc/fonts/fonts.conf.bak /usr/local/etc/fonts/fonts.conf

git clone https://github.com/powerline/fonts.git
./fonts/install.sh

Fish Shell

Fish Shell Installation (latest): brew install fish --HEAD

add the shell to the system know shells: echo /usr/local/bin/fish | sudo tee -a /etc/shells

make fish your default shell: chsh -s /usr/local/bin/fish

The Fish Shell configuration folder is located under: ~/.config/fish/

The main configuration file is: ~/.config/fish/config.fish, i source here 2 files.

source ~/.fish_aliases
source ~/.fish_variables

create a file ~/.fish_variables to source your variables:

# Setup your Github Token
set --export HOMEBREW_GITHUB_API_TOKEN "01010101010101010101010101"

# add /usr/local/sbin to your PATH Variable
set --export PATH /usr/local/sbin $PATH

create a file ~/.fish_aliases to source your aliases:

alias l "ls -alF"
alias .. "cd .."
alias sshserver "ssh [email protected]"
alias updatedb "sudo /usr/libexec/locate.updatedb"
alias myrsync "rsync -aihvP"

Fisher (A package manager for the fish shell)

GitHub Repository

Installation

curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
  • fisher update all
  • fisher add jethrokuan/z autocompletion for most used directories
  • fisher add edc/bass for better bash compatibility
  • fisher add Markcial/cprintf printf with colours
  • brew install fzf; fisher add jethrokuan/fzf fuzzing finder
  • brew install grc; fisher add fisherman/grc colourizer for terminal apps

See the documentation for details.

Themes

A list with screenshots of available themes.

I like the Budspencer Theme, so lets install it.

Make sure sure you have install Fish in the latest Version (brew install fish --HEAD) to run the budspencer theme.

brew install --with-default-names gnu-sed install dependencies

fisher omf/theme-budspencer install the theme budspencer

Theme Setup:

set -U budspencer_nogreeting
set -U fish_key_bindings fish_vi_key_bindings

Tips & Tricks

fish_update_completions run this once in a while to make the fish prompt aware of available commands and parameters

Update Script

If you run this more often makes then you can put an alias to this file in your `~/.fish_aliases we talked about above.

#!/usr/bin/env fish

echo 'start updating ...'

echo 'updating homebrew'
brew update
brew upgrade
brew cleanup

echo 'updating fish shell'
fisher up
fish_update_completions

echo 'updating npm'
npm update -g

echo 'checking Apple Updates'
/usr/sbin/softwareupdate -ia

exit 0

iTerm default screen

I use the terminal a lot and one windows is just not enought for me. You can setup your default window in iTerm2 like you want, mine looks like this:

Fish Shell Screenshot

One big windows on the left for coding or more detailed stuff and two split windows on the right to quickly fire some commands.

To Setup your window like you prefare just right click in the iTerms windows and say "Split Pane Vertically or Horizontally" to your needs. When you like it go to "Window -> Save Window Arrangment". For the last step go to "Preferences -> Arrangment" and set it to default. Next time you open iTerms it starts with your prefared awesome window setup.

Fish Shell Screenshot

Aliases and Exports

Aliases

alias rmi "rm -i"

# This is equivalent to entering the following function:

function rmi
    rm -i $argv
end

funcsave

http://fishshell.com/docs/current/commands.html#alias

Exports

set -xU APIKEY "SEC112233"

x == export U == universal - meaning that you can access the Variable from other sessions or terminals as well.

set --export PATH /usr/local/sbin $PATH another way to export

More details can be found here:

Fun Stuff

Other useful Resources

Contact / Social Media

Get the latest News about Web Development, Open Source, Tooling, Server & Security

Twitter Facebook Google+ Gitter Github

Development by

Developer / Author: Maik Ellerbrock Company: Frapsoft

License

Creative Commons License

This work by Maik Ellerbrock is licensed under a Creative Commons Attribution 4.0 International License.

More Repositories

1

open-source-badges

:octocat: Open Source & Licence Badges
495
star
2

awesome-koa

đŸ‘¯ Awesome Koa.js Web Framework
410
star
3

docker-security-images

🔐 Docker Container for Penetration Testing & Security
204
star
4

node-developer-boilerplate

🍭 Boilerplate for ES6+ Node.js and npm Developer
JavaScript
86
star
5

egghead-video-download

💾 Introduction how to download Egghead videos for offline view
86
star
6

awesome-typescript

🌟 A collection of awesome TypeScript resources.
77
star
7

docker-collection

🐋 Docker Collection for Web Development, DevOps and InfoSec
Dockerfile
58
star
8

typescript-badges

đŸ˜ŧ TypeScript Badges
42
star
9

bash-framework

â—ŧī¸ speed up your shell script development and add a modern look and feel (alpha version) ✨ đŸ’Ģ
Shell
20
star
10

openssl-docker

🔑 OpenSSL REPL - Create SSL Certificates without any hassle
20
star
11

console-emoji

💘 console log messages with emojis in color
JavaScript
19
star
12

cz-conventional-changelog-emoji

😝 A commitizen adapter for the angular preset with emojis
JavaScript
19
star
13

aws-iam-resources

🔑 Collection of useful AWS IAM Resources & Policies
19
star
14

atom-for-webdeveloper

🌈 Useful Packages and Configuration for a better Workflow
Shell
18
star
15

chrome-extensions-for-webdeveloper

🐂 A list with useful Chrome Extensions
16
star
16

awesome-infrastructure-as-code

🆙 Awesome List for Infrastructure as Code
14
star
17

docker-tutorial

đŸŗ Getting Started with Docker
14
star
18

nodejs-for-webdeveloper

🏃 Node.js for Developers
14
star
19

nikto-docker

👤 Nikto Web Server Scanner
13
star
20

conventional-changelog-angular-emoji

👍 Emoijis for the Angular Commit Guidelines with Emojis
JavaScript
13
star
21

aircrack-ng-docker

🕷 aircrack-ng - wifi network security collection dockerized
11
star
22

digitalocean-promo-code-summer-2017

🎁 Save $20 for Digital Ocean - Spring / Winter 2018
10
star
23

rancher-collection

🐄 Collection of Rancher Docker Services
Shell
10
star
24

conventional-commit-types-emoji

😍 add emojis to conventional-commit-types
9
star
25

cloudflare-dyndns-shell

☁ī¸ Cloudflare DNS Updater Shell Script
Shell
9
star
26

awesome-alibaba-cloud

🎉 awesome list for alibaba cloud
9
star
27

create-macos-iso

đŸ’ŋ script to create a iso file from the macos installer app
Shell
8
star
28

alpine-cloud-custodian

☑ī¸ Cloud Custodian AWS Automation on Alpine as unprivileged User
Shell
8
star
29

htop-docker

📊 system monitoring with htop based on alpine linux
7
star
30

javascript-badges

💖 Javascript Badges
7
star
31

zsh-docker

đŸŗ zsh Shell base on Alpine Linux
6
star
32

fish-docker

đŸŗ Fish Shell base on Alpine Linux
6
star
33

snort-docker

🐗 Network Intrusion Detection & Prevention System
6
star
34

atop-docker

📈 system monitor atop based on alpine linux
5
star
35

bulma-stylus

📘 Stylus Version from the current Bulma Repository Version 0.1.2
CSS
5
star
36

awesome-boilerplates

đŸ˜Ŋ Collection with Awesome Boilerplates to get started quickly...
5
star
37

travis-vulnerability-scanner

đŸ”Ĩ test your npm dependencies for known vulnerabilities
4
star
38

unicorn

💞 Unicorns and Rainbows!
HTML
4
star
39

go-explore

🐤 Collection of Go Lang examples
Go
3
star
40

awesome-go

🎀 List with awesome Go Lang Resources ...
3
star
41

hugo-awesome

💘  hugo theme based on bulma css fully dockerized
CSS
3
star
42

arpon-docker

😎 ARP handler inspection based on Alpine Linux
3
star
43

typescript-docker

đŸŗ TypeScript with Node.js LTS (6.9.1) on Alpine Linux
TypeScript
3
star
44

travis-deadlink-scanner

🙆‍♀ī¸ scan markdown files with travis for broken links
2
star
45

electron-skeleton

🚧 Electron Boilerplate - work in progress ...
CSS
2
star
46

terraform-consul-backend

🎃 consul as backend for terraform with docker
HCL
2
star
47

ts-node-docker

đŸŗ TypeScript execution env and REPL for node on Alpine Linux
TypeScript
2
star
48

node-typescript-boilerplate

👔 TypeScript Node Developer Boilerplate
TypeScript
2
star
49

slowhttptest-docker

😱 Application Layer DoS attack simulator
2
star
50

aws-collection

:bowtie: Collection of some Tooling for Amazon AWS Cloud
Shell
2
star
51

netlify-hugo-awesome

💞 automated website deployment on @Netlify - thanks guys!
HTML
2
star
52

typescript-module-loader

🐒 dynamically appends JS and CSS files to the document - thats it :-)
TypeScript
2
star
53

multiple-node-versions

🐝 setup multiple node.js versions via nvm and cleanup old installations
Shell
2
star
54

get-app-dir

🏠 get the directory where the node app was started
JavaScript
1
star
55

font-awesome-stylus

đŸ¯ Stylus Version from the current Font Awesome Repository Version 4.6.3
1
star
56

get-links

🔗 get links via dom selector
JavaScript
1
star
57

you-dont-know-yarn

👭 exploring yarn, the new npm
1
star
58

typescript-webpack-react-starter

:bowtie: Typescript, Webpack, React Boilerplate
JavaScript
1
star
59

tf-aws-skeleton

🔧 terraform boilerplate for aws
HCL
1
star
60

github-page-spa-test1

github page single page application test 1
JavaScript
1
star
61

youtube2mp3

đŸŽĩ yet another youtube downloader
Shell
1
star
62

tf-aws-s3-bucket

📂 terraform aws module - create s3 bucket
HCL
1
star
63

docker-script

đŸŗ update containers, clean dangling volumes, remove unnamed container ...
Shell
1
star
64

aliyuncli-travis-docker

😜 Alibaba Cloud CLI CI/CD Quickstart with Travis
1
star
65

OMF-Node-RED

Nodes to use in Node-RED to help generate an OSIsoft Message Format (OMF) message
HTML
1
star
66

get-links-cli

🔗 get links via dom selector (cli version)
JavaScript
1
star
67

influxdb-mocking

đŸ‘Ŋ quick & dirty shell hack to write some mocking date to influxdb
Shell
1
star
68

alibaba-cloud-terraform-github-travis

☕ quickstart for alibaba cloud with terraform github and travis
HCL
1
star
69

npm-tutorial

🎉 Publishing NPM Packages for Developers
1
star
70

error-log-exit

â€ŧī¸ log error in red to console and exit with given value
JavaScript
1
star
71

scanssh-docker

đŸ‘Ĩ Fast SSH server and open proxy scanner
1
star
72

node-babel-starter

🔧 lightweight node es6+ starter kit
Dockerfile
1
star
73

certbot-docker

🔐 Create SSL Certificates with Let's Encrypt / CertBot
1
star
74

shell-ui-docker

đŸ’ģ whiptail and dialog for shell ui testing
Shell
1
star
75

remove-duplicated-files-osx-linux

📝 Tutorial how to find and delete duplicated files on OS X or Linux
1
star
76

set-git-description

ℹī¸ set git description from npm description
JavaScript
1
star
77

error-log

❌ log error messages in red color to console
JavaScript
1
star
78

apache-htdigest-security

🔓 Tutorial how to create htdigest authentication for Apache Webserver.
1
star