These dotfiles are based on the thoughtbot dotfiles (and rcm), and are largely just overrides against thoughtbot's defaults based on personal preference.
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):
- MacVim
- Overmind
- iTerm2
- Karabiner Elements (keyboard customization/remapping)
- GitHub
- jq
- jiq
- yq
- iperf3
- Parallels
- VS Code
- Postman
- OWASP Zap
- vips (image processing)
- pipx
- Microcontroller Firmware Tooling: cmake, ninja, dfu-util, ccache, sdl2
- Software supply chain: notation, licensed
- AWS CLI
- SOPS
- kubectl
- clusterctl
- Helm
- kind
- step
- fluxctl and flux
- ArgoCD
- Azure and Azure Functions CLIs
- watch
- eksctl
- certbot
- Cert Manager CLI
- Balena Etcher
- OpenVPN Connect
- Lens (K8s Observation)
- AWSume
- 1Password
- Google Chrome
- Dropbox
- Microsoft Office/Teams/etc
- Speedtest CLI
- Tailscale
- Slack
- Discord
- Spotify
- Zoom
- Raycast
- 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:
- 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. - In Karabiner Elements, map Caps Lock to Escape as a "Simple modification".
- 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.
- In OSX enable Accessibility > Track Pad > Click Lock Drag.
- In OSX Screensaver > Hot Corners set the bottom right to "Desktop".
- In OSX check Trackpad > Tap to click and Tracking Speed to Fast.
- In Chrome uncheck Chrome > Warn Before Quitting.
- Configure/Setup Dropbox
- Configure/Setup 1Password
- Go to iTerm2 > Preferences > Profiles and click Other Actions > Import JSON
Profiles, importing
iterm_profile.json
. - Speed up the mouse scaling with
defaults write -g com.apple.mouse.scaling 12.0
. A restart is needed for this to take effect.
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
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)