Skip to content

Dotfiles Manual

These are my personal dotfiles for macOS development environments. They provide a consistent setup across machines with automated configuration.

This manual describes how the pieces fit together: the install and update tasks, the window manager hotkeys, the tmux and cmux workflow, and the project registry that ties the three Macs together.

The source lives at jefftriplett/dotfiles.

Start here

Page Read it when
How the pieces fit together You want to know which tool owns what
Setting up a Mac A fresh machine needs the whole setup
Daily work You want the command for a task: open, start, list, or kill a project
Maintenance It is time to update, freeze a Brewfile, or lint
Troubleshooting Something answers wrong, or not at all

The Reference section holds the full option lists for each tool.

Key Tools

CLI

  • 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

GUI

Python Environment

  • pip: PyPA recommended tool for installing Python packages
  • uv: Fast Python package installer and resolver, written in Rust

Repository Layout

  • home/: dotfiles (Brewfile, shell config, app config)
  • home/bin/: standalone scripts, symlinked onto $PATH as ~/bin
  • home/.justfiles/: just submodules for task groups
  • scripts/: README generation helpers

  • docs/: this manual, built with Zensical

Theme

Dracula is the official theme across every machine. Any app that offers it gets it. Some of the configuration lives in this repository, the rest is set inside each app.

App Where Dracula is configured
Alfred Theme imported into Alfred preferences
cmux Inherits theme = dracula from the Ghostty config; cmux themes list should name that file as its source
Ghostty home/.config/ghostty/config and the dracula palette file next to it
Obsidian Set per vault in the appearance settings
Slack Set in the app
Starship Dracula hex colors in home/.config/starship.toml
Sublime Text home/.config/sublime-text/, color scheme and Package Control entry
Telegram Set in the app
tmux home/.tmux.conf, the dracula/tmux plugin and the status bar colors
Vivaldi Set in the browser
Zed home/.config/zed/themes/dracula.json; select it in the Zed theme setting
Zensical docs/stylesheets/dracula.css, selected as the dark scheme in zensical.toml; the MkDocs theme is the nearest upstream, since Zensical grew out of Material for MkDocs

cmux is built on Ghostty and reads ~/.config/ghostty/config, so the one theme = dracula line covers both terminals. cmux themes set writes an override into cmux's own Application Support folder that shadows that line on one Mac; cmux themes clear removes it. The cmux Dracula theme page shows the same cmux themes set --dark "Dracula" command, which is not needed here.

Inspiration / Thank you!