Home

Awesome

These dotfiles are based on the thoughtbot dotfiles (and rcm), and are largely just overrides against thoughtbot's defaults based on personal preference.

New System Setup

Use the thoughtbot laptop script to set up a new machine. The laptop.local script here will install the following (not included in the thoughtbot script by default):

Developer Tools

  1. MacVim
  2. Overmind
  3. iTerm2
  4. Karabiner Elements (keyboard customization/remapping)
  5. GitHub
  6. jq
  7. jiq
  8. yq
  9. iperf3
  10. Parallels
  11. VS Code
  12. Postman
  13. OWASP Zap

Dependencies and Dependency Management

  1. vips (image processing)
  2. pipx
  3. Microcontroller Firmware Tooling: cmake, ninja, dfu-util, ccache, sdl2
  4. Software supply chain: notation, licensed

Infrastructure Management

  1. AWS CLI
  2. SOPS
  3. kubectl
  4. clusterctl
  5. Helm
  6. kind
  7. step
  8. fluxctl and flux
  9. ArgoCD
  10. Azure and Azure Functions CLIs
  11. watch
  12. eksctl
  13. certbot
  14. Cert Manager CLI
  15. Balena Etcher
  16. OpenVPN Connect
  17. Lens (K8s Observation)
  18. AWSume

General Use

  1. 1Password
  2. Google Chrome
  3. Dropbox
  4. Microsoft Office/Teams/etc
  5. Speedtest CLI
  6. Tailscale
  7. Slack
  8. Discord
  9. Spotify
  10. Zoom
  11. Raycast
  12. Avast Security

NOTE: Remove the line in the thoughtbot mac script that installs vim to avoid a clash with the MacVim install.

curl https://raw.githubusercontent.com/hiattp/dotfiles/master/laptop.local > ~/.laptop.local
curl --remote-name https://raw.githubusercontent.com/thoughtbot/laptop/master/mac
sh mac 2>&1 | tee ~/laptop.log

NOTE: You'll want to adjust a few settings/parameters in the applications that were installed:

  1. In Karabiner Elements, go to "Complex modifications" and "Add rule" to find the Escape Multifunction behavior and enable it. Then choose "Parameters" and change to_if_alone_timeout_milliseconds to 500.
  2. In Karabiner Elements, map Caps Lock to Escape as a "Simple modification".
  3. In OSX change the cursor speed and key repeat speed to highest, and delay until key repeat to lowest in the Mouse and Keyboard settings respectively.
  4. In OSX enable Accessibility > Track Pad > Click Lock Drag.
  5. In OSX Screensaver > Hot Corners set the bottom right to "Desktop".
  6. In OSX check Trackpad > Tap to click and Tracking Speed to Fast.
  7. In Chrome uncheck Chrome > Warn Before Quitting.
  8. Configure/Setup Dropbox
  9. Configure/Setup 1Password
  10. Go to iTerm2 > Preferences > Profiles and click Other Actions > Import JSON Profiles, importing iterm_profile.json.
  11. Speed up the mouse scaling with defaults write -g com.apple.mouse.scaling 12.0. A restart is needed for this to take effect.

Dotfile Installation on Existing Systems

The following adds the ~/.hiattp-dotfiles and ~/.thoughtbot-dotfiles directories, then uses rcm to symlink the dotfiles into the home directory. Note that some things won't work unless you are running Zsh instead of Bash, and you must have rcm installed.

git clone https://github.com/thoughtbot/dotfiles.git ~/.thoughtbot-dotfiles
git clone https://github.com/hiattp/dotfiles.git ~/.hiattp-dotfiles
env RCRC=$HOME/.hiattp-dotfiles/rcrc rcup

Other Notes:

The flavor du jour of runtime version managers (as far as these dotfiles are concerned) is asdf-vm. You'll want to follow install instructions there if you didn't pull it in via the laptop script above. Also keep in mind that asdf may generate shims for things like node, so if you install a different node version with homebrew and do something like brew unlink node you'll also need to ensure you aren't pointing to a shim (i.e. check which node) and potentially remove it before linking a different version.

If you use Heroku you might want to use heroku accounts and heroku-binstubs.

The laptop script installs universal-ctags so be sure to run a ctags command, e.g. for Rails projects:

ctags -R --languages=ruby --exclude=.git --exclude=log -f tags . $(bundle list --paths)