These are my personal dotfiles for macOS development environments. They provide a consistent setup across machines with automated configuration.
- direnv: Securely loads or unloads environment variables depending on the current directory
- Homebrew: Package management for macOS
- Homesick: Manages dotfiles with Git and symlinks
- Just: 🤖 Command runner for project-specific tasks
- Starship: Minimal, blazing-fast, and customizable prompt for any shell
- Alfred: Productivity tool with Alfred Powerpack
- Hammerspoon: macOS automation tool (tiling windows manager)
- pip: PyPA recommended tool for installing Python packages
- pyenv: Simple Python version management
- uv: Fast Python package installer and resolver, written in Rust
-
Install Homesick:
$ gem install homesick
-
Clone this repository:
$ homesick clone jefftriplett/dotfiles
-
Create the symlinks:
$ homesick symlink dotfiles
-
Bootstrap the environment:
$ just bootstrap
$ just --justfile=./home/justfile
Available recipes:
bootstrap # installs/updates all dependencies
cleanup DAYS="0" # clean up old homebrew packages and casks
fmt # format and overwrite justfile
freeze # Updates our lockfiles without installing dependencies [alias: lock]
git-commit-msg # generate a commit message using llm template
install # create symlinks for dotfiles using homesick
kill-tabs # Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
open-claude-desktop-config # open Claude desktop configuration file in Sublime Text
open-docs # open documentation in browser using tailscale/golinks
open-go # open tailscale/golinks homepage
open-ha # open Home Assistant interface in browser
open-syncthing # open Syncthing interface in browser
outdated # list outdated packages from homebrew and pip
pip-install *ARGS # install python packages using uv pip installer
pip-uninstall *ARGS # uninstall python packages using uv pip installer
postgresql-upgrade # upgrade postgresql to latest version and migrate databases
pyenv-upgrade +ARGS="--skip-existing" # upgrade python and update pyenv configuration
pyenv-upgrade-all +ARGS="--skip-existing" # install or upgrade all python versions managed by pyenv
python-update # update python environment and pyenv settings
restart # restart homebrew services
stop # stop all homebrew services
update # updates a project to run at its current version
upgrade # update and upgrade homebrew packages
upgrade-all # upgrade all tools (pyenv and mise packages)
uv-python-install *ARGS # install python versions using uv installer
uv-python-reinstall *ARGS # reinstall python versions using uv installer
uv-tool-install *ARGS # install common python CLI tools using uv installer
homebrew ...
llm ...
macos ...
ollama ...
virtualenv ...
virtualenvwrapper ...
Action | Key Combination |
---|---|
hyper | ctrl + opt + cmd |
meta | cmd + shift |
reload config | hyper + r |
show grid | hyper + g |
make full screen | hyper + m |
center and 60% | hyper + c |
move to left half | hyper + left |
move to right half | hyper + right |
move to top half | hyper + up |
move to lower half | hyper + down |
move to upper left (25%) | ctrl + opt + shift + left |
move to upper right (25%) | ctrl + opt + shift + up |
move to lower left (25%) | ctrl + opt + shift + down |
move to lower right (25%) | ctrl + opt + shift + right |
move to next monitor | ctrl + opt + right |
move to previous monitor | ctrl + opt + left |
- Dracula Dark theme for iTerm and 294+ apps.
- The Geeky Way: What are dotfiles?
- https://github.com/epicserve/dotfiles
- https://github.com/geerlingguy/mac-dev-playbook
- https://github.com/JohnColvin/.maid/blob/master/rules.rb
- https://github.com/mathiasbynens/dotfiles/blob/master/.osx
- https://github.com/mitchty/src/blob/master/dotfiles/maid/rules.rb
- http://blog.palcu.ro/2014/06/dotfiles-and-dev-tools-provisioned-by.html
Here are a few ways to keep up with me online. If you have a question about this project, please consider opening a GitHub Issue.