dotfiles
dotfiles copied to clipboard
My system configuration (things like: ZSH, Vim, Git, Ruby, Rust and others).
Dotfiles
These dotfiles contain configuration and installation for:
- Xcode
- Homebrew
- iTerm
- Zsh
- Dotfiles
- VIM (Neovim and MacVim)
- chruby and ruby-install
- rustup and Rust
- Hammerspoon
- Misc. Utilities
This setup is intended for the latest macOS version
Installation
This is a step-by-step installation guide.
Xcode
Install Xcode through the Mac App Store.
Then run:
xcode-select --install
Dotfiles installation
Next, clone this Git repository, initialize/update the submodules and finally hook everything up by running the install script.
mkdir $HOME/tombruijn
git clone git://github.com:tombruijn/dotfiles.git $HOME/tombruijn/dotfiles
cd $HOME/tombruijn/dotfiles && git submodule init && \
git submodule update --recursive
./install
This should set up the symlinks from the dotfiles directory to your $HOME
directory, do not remove the dotfiles
directory.
macOS defaults
Set macOS defaults.
./.macos
Homebrew
Next, install Homebrew using the command listed on the website.
After installing Homebrew, ensure permissions are correct by running the following.
brew bundle
Zsh
Private credentials
To configure credentials that shouldn't be checked into git, create a
~/.extra
file like the example below.
#!/bin/sh
export GPG_SIGNING_KEY="KEY_ID"
Now refresh you shell sessions either by opening a new pane or by running
reload
.
GPG configuration
Transfer your ~/.gnupg
directory to the new machine. You need the following
files:
private-keys-v1.d/*
pubring.kbx
Fix the permissions of this directory after the move.
chmod 600 ~/.gnupg/*
chmod 700 ~/.gnupg
fzf
To install fzf, use the install script
listed in brew info fzf
after installing it through brew install fzf
.
Say yes to "fuzzy auto-completion" and "key bindings".
vim
Install Neovim.
# Should be installed through the Brewfile, but to do so manually:
brew install neovim
# Additional packages
# Ruby package for neovim
gem install neovim
# Python package for Python bindings (Python is used by UltiSnips)
pip2 install --upgrade neovim
Use vim-plug to install vim plugins.
vim +:PlugInstall
Python
For neovim to pick up Python support Python and the neovim package need to be installed.
pyenv install <latest python version>
pyenv global <latest python version>
pip install --upgrade pip # Updating is just good practice
pip install neovim
chruby and ruby-install
ruby-install ruby [VERSION]
Rust and rustup
Install rustup and with it Rust.
Which Rust version to install depends on the project you're working on.