garden-workstations
First-time usage
- Change the workstation password.
- Clone this repo.
- macOS only: uninstall shiftit, iterm, any other cask apps listed in the casks of macos.yml.
- macOS only: sign into app store and update xcode. Then, open xcode and accept the license. Then run
xcode-select --install
. You'll need to do this for some inexplicable reason to use the C compiler. Remind me again why macOS is so developer-friendly? - Ensure your SSH key is loaded via
ssh-add -l
<garden-workstations>/run.sh
Currently-required manual steps
- If
bosh-cli
brew package was already installed without thewithout-bosh2
option, runbrew uninstall --force bosh-cli
. This is needed as brew will falsely claim success, but won't change the link name from bosh2 to bosh. - If migrating from recent (pre 03/08/2017) revisions on the
ansible
branch:git checkout master && git fetch && git reset --hard origin/master
. This is necessary because master was force pushed to the old ansible branch.
Linux post-install
- Do the things in common post-install below.
macOS post-install
- Open flycut, shifit. Ensure they start on startup.
- Open Keyboard preferences > Shortcuts > Input Sources > untick "Select the previous input source" (or whatever is stealing ctrl+space from our tmux config). This start off unticked anyway, but will become ticked as soon as you add another input source (e.g. US layout)!
- Hide the dock.
- Speed up key repeat.
- Make iTerm append Esc to Alt key. Open iTerm -> Preferences -> Profiles -> Keys and change the Left and Right Alt key settings from Normal to Esc+. This restores alt+f, alt+backspace etc.
- Make sure you set a Nerd Font as your non-ascii font in iTerm -> Preferences -> Profiles -> Text -> Non-ASCII Font (Inconsolata Mono Nerd Font comes with dotfiles)
- Do the things in common post-install below.
Common post-install
- Reload tmux and shell.
- Install TPM plugins (in tmux press prefix+I).
ruby-install
yourself a Ruby version.vim-update
. Not all plugins install unless the shell is interactive, for some reason.- Enable
bash-it
plugins and completions. This used to be automated, but they have since merged a change which means bash-it cannot be run interactively. Until we find another way around this, run:source ~/.bash_profile bash-it enable plugin base chruby-auto chruby fzf git bash-it enable completion bash-it git system
TODO
- git autocomplete in bash
- Unify tmux configs? It looks like that TPM plugin is cross-platform.
- tmate config that works.
- tmate on linux
- automate installation of Ruby in run.sh based on
.ruby-version
. - macOS key repeat (this is a bit of a pain to automate as valid defaults vales changed between el capitan and sierra. Might not even be worth automating)
- rethink PS1 (do we need that watch emoji and ruby version?)
Troubleshooting
-
Can't find cask
failed: [localhost] (item=docker) => {"failed": true, "item": "docker", "msg": "Error: Cask 'gitx-rowanj' is unavailable: No Cask with this name exists."}
Similar errors to this probably means your homebrew has a cask that is no longer available. In this case, make sure you don't have gitx installed, and manually remove its cask folder from
/usr/local/Caskroom
.