- Install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- Clone this repo into ~
git clone [email protected]:nixonsu/dotfiles.git ~
- Temporarily set DEV environment variable for the install to work
export DEV="$HOME/dotfiles"
- Run sync script (creates symlinks and installs zsh custom plugins & themes)
$DEV/sync.sh
- Restart shell and viola!
- Make changes to
dotfiles
- Push changes
- Run
sync.sh
to apply changes to local
$DEV/sync.sh
I use tmux to ensure sesions are persisted even when my local shell is disconnected for whatever reason. It's also a great tool to organise my workspace. To setup tmux with my plugins, run Installing Plugins
section.
- Add new plugin to ~/.tmux.conf with set -g @plugin '...'
- Press prefix + I (capital i, as in Install) to fetch the plugin. You're good to go! The plugin was cloned to ~/.tmux/plugins/ dir and sourced.
- Remove (or comment out) plugin from the list.
- Press prefix + alt + u (lowercase u as in uninstall) to remove the plugin.
All the plugins are installed to $DEV/tmux/plugins/
so alternatively you can find plugin directory there and remove it.
I use karabiner-elements to configure raw key mappings. For example, repurposing CAPS LOCK as ESC.
Git configuration is setup to allow me to use one set of creds under one folder and another set of creds under another folder. This is especially handy for working on my personal projects on a work device for example.
This folder contains all zsh configurations and also includes useful aliases. Zsh scripts in this folder are auto-loaded when oh-my-zsh runs.
Option + num
shortcuts will by default insert characters like ¡™£¢. These need to be disabled to use them effectively for other shortcuts.
- Write to directory:
~/Library/KeyBindings/DefaultKeyBinding.dict
with the following content:
{ "~a" = (); "~b" = (); "~c" = (); "~d" = (); "~e" = (); "~f" = (); "~g" = (); "~h" = (); "~i" = (); "~j" = (); "~k" = (); "~l" = (); "~m" = (); "~n" = (); "~o" = (); "~p" = (); "~q" = (); "~r" = (); "~s" = (); "~t" = (); "~u" = (); "~v" = (); "~w" = (); "~x" = (); "~y" = (); "~z" = (); }
- Save and reboot machine