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 --list --list-submodules
Available recipes:
claude:
config # open Claude Desktop configuration file in Sublime Text
upgrade # update Claude Code CLI to the latest version
homebrew:
cleanup DAYS="0" # clean up old Homebrew packages and cache
freeze # freeze current Homebrew packages to Brewfile
outdated # list outdated Homebrew packages
services # list all Homebrew services
services-restart # restart all running Homebrew services
services-stop # stop specific Homebrew services (with non-fatal errors)
update # update Homebrew package database
upgrade # upgrade all outdated Homebrew packages
llm:
install *ARGS # install LLM plugins with optional arguments
path # open LLM templates directory in Sublime Text
upgrade # upgrade all installed LLM plugins
macos:
timemachine-boost # boost Time Machine backup speed by increasing IO priority
timemachine-boost-complete # restore normal IO priority after Time Machine backup completes
timemachine-delete *ARGS # delete specific Time Machine backups
timemachine-list # list all Time Machine backups
xcode-bootstrap # install Xcode command line tools
xcode-upgrade # upgrade Xcode command line tools by removing and reinstalling
ollama:
copy-plist # copy custom ollama plist file to homebrew directory
diff-plist # compare local ollama plist with installed version
download # download various ollama models (- prefix makes failures non-fatal)
getenv # display ollama environment variables from launchctl
list # list all downloaded ollama models
serve *ARGS # serve ollama in a tandem process with optional arguments
setenv # set ollama environment variables in launchctl
pyenv:
upgrade +ARGS="--skip-existing" # upgrade python and update pyenv configuration
upgrade-all +ARGS="--skip-existing" # install or upgrade all python versions managed by pyenv
python:
bootstrap # bootstrap python environment with essential packages
outdated # list outdated Python packages
pip-install *ARGS # install python packages using uv pip installer
pip-uninstall *ARGS # uninstall python packages using uv pip installer
update # update python environment and pyenv settings
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
virtualenv:
scan # scan virtualenvs and display their python versions
upgrade # upgrade pip in all virtualenvs
workon # list all virtualenvs with their python and pip versions
virtualenvwrapper:
get_env_details # virtualenvwrapper hook for getting environment details
initialize # virtualenvwrapper hook for environment initialization
postactivate # virtualenvwrapper hook that runs after environment activation
postdeactivate # virtualenvwrapper hook that runs after environment deactivation
postmkproject # virtualenvwrapper hook that runs after creating a project
postmkvirtualenv # virtualenvwrapper hook that runs after creating a virtualenv
postrmproject # virtualenvwrapper hook that runs after removing a project
postrmvirtualenv # virtualenvwrapper hook that runs after removing a virtualenv
preactivate # virtualenvwrapper hook that runs before environment activation
predeactivate # virtualenvwrapper hook that runs before environment deactivation
premkproject # virtualenvwrapper hook that runs before creating a project
premkvirtualenv # virtualenvwrapper hook that runs before creating a virtualenv
prermproject # virtualenvwrapper hook that runs before removing a project
prermvirtualenv # virtualenvwrapper hook that runs before removing a virtualenv
[database]
postgresql-upgrade # Upgrade PostgreSQL to latest version and migrate databases
[golinks]
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
[maintenance]
cleanup DAYS="0" # Clean up old Homebrew packages and casks
outdated # List outdated packages from Homebrew and pip
update # Update project to run at its current version
upgrade # Update and upgrade Homebrew packages
upgrade-all # Upgrade all tools (pyenv and mise packages)
[services]
restart # Restart Homebrew services
stop # Stop all Homebrew services
[setup]
bootstrap # Install and update all dependencies
freeze # Update lockfiles without installing dependencies [alias: lock]
install # Create symlinks for dotfiles using homesick
[utils]
fmt # Format and overwrite justfile
update-brewfile # Update Brewfile from cog template
update-readme-docs # Update README.md docs using cog
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.