Skip to content

dgalarza/dotfiles

Repository files navigation

Dotfiles

My personal dotfiles for macOS. This is a living config that changes as I try new tools and workflows. If you found this from one of my YouTube videos, you're in the right place.

Theme

Catppuccin Mocha is applied across the entire stack: Ghostty, Tmux, Neovim, Starship, and Eza. One palette, everywhere.

Terminal

Ghostty is the terminal emulator. Font size 18, with a quick terminal toggle bound to Alt+t.

Zsh is the shell, managed with Zinit. Four plugins, all turbo-loaded:

  • zsh-autosuggestions
  • zsh-syntax-highlighting
  • zsh-completions
  • zsh-history-substring-search

Starship handles the prompt. Minimal layout with the directory on the left and git info (branch, state, status) on the right.

Tmux

Key settings:

  • Prefix: Ctrl-s
  • Status bar at the top
  • Vi mode for copy
  • Mouse enabled
  • Sessions persist and auto-restore via resurrect + continuum

Plugins managed by TPM:

Plugin Purpose
tmux-sensible Sensible defaults
tmux-yank System clipboard integration
tmux-resurrect Save and restore sessions
tmux-continuum Automatic session saving
tmux-battery Battery status in status bar
tmux-fzf Fuzzy finder integration
tmux-fzf-url Open URLs from the terminal
tmux-sessionx Session management with fzf and zoxide
tmux-floax Floating pane toggle
tmux-huckleberry Git branch switcher

Editor

Neovim with LazyVim as the base distribution. Catppuccin colorscheme, leader key set to ,.

LazyVim extras enabled:

  • Copilot
  • mini-surround
  • DAP (core)
  • FZF
  • Scala
  • SQL
  • Test (core)

Additional plugins:

CLI Tools

Tool Purpose
Eza Modern ls with git integration
Zoxide Smart cd that learns directories
Atuin Interactive shell history with sync
Mise Dev tool version manager
fzf Fuzzy finder (used in Tmux and Neovim)

Window Management

AeroSpace is a tiling window manager for macOS with i3-style keybindings. Workspaces are bound to Ctrl+1-9, window focus uses Alt+j/k/l/;, and Alt+Enter opens a new Ghostty window.

Git

Core settings:

  • Fast-forward only merges (merge.ff = only)
  • Autosquash on rebase (rebase.autosquash = true)
  • pf alias for push --force-with-lease

Custom scripts in .local/bin/:

  • git up fetches origin and rebases onto the primary branch
  • git delete-branch removes a branch from both remote and local

Claude Code

Global Claude Code configuration lives in .claude/. This includes a global CLAUDE.md with cross-project context, slash commands, and reusable skills (marketing, content strategy, CRO, SEO, and more).

Run the setup script to symlink everything into ~/.claude/:

./setup-claude.sh

The script also sets up a ~/vault symlink to your Obsidian vault for private skills and business context that shouldn't live in a public repo.

Repo Structure

  • .zshrc at the repo root
  • Tool configs under .config/ (Ghostty, Tmux, Neovim, Starship, AeroSpace)
  • Custom scripts in .local/bin/
  • .claude/ for Claude Code global config (skills, commands, CLAUDE.md)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors