Make your terminal usable in 10 seconds
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
applescripts
bash
docker
git
gnome
img
terminal
tilix
tmux
vim
zsh
.gitignore
README.md
apps.txt
bettertouchtool.config
dotackrc
osx_setup.sh
setup.sh

README.md

Jonis config files

My dotfiles and zsh config.

Screenshot 1

Terminal setup

ZSH, git and dotfiles

The setup script .joni-config/setup.sh will ask before overwriting your existing dotfiles. You can cancel this by passing -f as an argument.

Ubuntu:

sudo apt-get install git zsh aptitude build-essential mosh curl tmux net-tools whois
sudo locale-gen en_US en_US.UTF-8 de_CH.UTF-8
sudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8\nLC_TIME=de_CH.UTF-8' > /etc/default/locale"
git clone https://github.com/jo-m/joni-config.git ~/.joni-config
mkdir -p ~/.fonts
cp ~/.joni-config/terminal/Inconsolata-dz-Powerline.otf ~/.fonts
~/.joni-config/setup.sh -f
nano ~/.oh-my-zsh/custom/aliases_local.zsh ~/.gitconfig
chsh -s '/usr/bin/zsh'

OS X:

xcode-select --install
git clone https://github.com/jo-m/joni-config.git ~/.joni-config
~/.joni-config/setup.sh -f
nano ~/.oh-my-zsh/custom/aliases_local.zsh ~/.gitconfig
chsh -s '/bin/zsh'
osx_setup.sh

OS X specific setup

Install Homebrew, RVM and cask, and packages:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap homebrew/science
brew tap thoughtbot/formulae

brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste

brew install caskroom/cask/brew-cask brew-cask dos2unix fpp git \
  gnupg gnuplot graphviz htop iftop imagemagick libevent libtool \
  mongodb mosh nmap node pbzip2 pgcli poppler potrace python python3 r \
  sqlite tmux tmux unrar wget no-more-secrets

brew cask install all2mp3 atom bettertouchtool bonjour-browser \
  disk-inventory-x dropbox filezilla firefox flux gimp google-chrome \
  google-drive gitsh handbrake heroku-toolbelt hex-fiend ichm inkscape \
  istumbler iterm2 java8 keepassx keyboardcleantool macdown mongohub \
  music-manager processing rstudio sixtyforce skype sourcetree spek \
  the-unarchiver transmission tunnelblick virtualbox vlc wireshark-dev \
  xquartz

npm install -g mathjs trash-cli tldr

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby

Manually install Postgres.app http://postgresapp.com/.

The file terminal/osx-terminal-like-iterm.terminal contains settings for Apples Terminal App which make it look (almost) the same as the included iTerm2 settings.

Setup shell and keyboard shortcuts

  • Install the powerline font.
  • Load new iTerm2 Settings: in iTerm preferences, set ~/.joni-config/terminal as folder to load preferences from
  • Start BetterTouchTool, import preferences from here

Upgrade/Update installed apps

brew update && brew upgrade brew-cask
brew upgrade
# use with caution
brew cleanup --force -s && rm -rf $(brew --cache)

Hombrew-Cask: "It is generally safe to run updates from within an Application."

Tmux

A tmux config is included and linked to ~/.tmux.conf. If it does not exist alrady, a link is also created from ~/.tmuxp to the included tmuxp config folder. To use it, install tmuxp: pip install tmuxp.

# use tmx to launch a new tmux session or attach to the existing one
tmx
# use tmx2 to attach to the existing session in a second shell window, e.g. for a log window
tmx2
# launch tmuxp session, e.g. rails
cd <rails_project_dir>
tmuxp load rails

Docker image

A Dockerfile for building an Ubuntu 16.04 container using the setup above is contained. Your $HOME folder from the host machine will be mounted in /home/joni/sf in the container.

cd docker
# build/run container
make build
make run
# build/run container with latex installation
make build-latex
make run-latex