Skip to content

dadigu/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

187 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles & Setup

Personal dotfiles + bootstrap scripts for setting up a new macOS machine with my preferred apps and configs.

Quick install (bootstrap)

Run the setup script:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dadigu/dotfiles/main/setup/init.sh)"

Review before running (recommended)

curl -fsSL https://raw.githubusercontent.com/dadigu/dotfiles/main/setup/init.sh | less

Note: This script installs software, applies macOS defaults, and may prompt for input. Some changes require a logout/restart and some apps require manual privacy approvals.

GNU Stow

I use GNU Stow to symlink dotfiles:

cd ~/dotfiles
stow <package-name>

Useful commands:

  • Dry run (see what would happen):
    stow --no --verbose=2 <package-name>
  • Restow (apply changes to an already-stowed package):
    stow --restow <package-name>
  • Unstow:
    stow --delete <package-name>

Available packages

  • aerospace
  • ghostty
  • lazygit
  • leader-key1
  • nvim
  • sketchybar
  • skhd
  • tmux
  • vim
  • wezterm
  • yabai
  • yazi
  • zellij
  • zsh

Post-install manual steps (macOS)

Some things can’t (or shouldn’t) be fully automated:

  • yabai / skhd
    • System Settings → Privacy & Security → Accessibility
    • Enable for the relevant binaries/apps you use to launch them (Terminal/iTerm2, yabai, skhd).
  • Docker Desktop
    • Launch Docker Desktop once to complete setup.
  • Login/setup apps
    • 1Password, Raycast/Alfred, VPN, browsers, etc.

Karabiner-Elements

If you use the Karabiner config in this repo:

cd karabiner
npm install
npm run build

Macbook reinstall checklist

  • Commit and push changes in all Git repos
  • Review Git stashes and convert important ones to patch files
  • Backup important documents not synced to iCloud/Drive
  • Backup app data that doesn’t sync automatically
  • Export critical data from local databases
  • Backup SSH keys (~/.ssh) and config (~/.ssh/config)
  • Backup GPG keys (if used)
  • Confirm 2FA/authenticator backups (if applicable)
  • Verify password manager vault is fully synced
  • Note down/licenses for paid apps (if not account-based)

Troubleshooting

Homebrew installed but brew not found

Open a new terminal session, or run:

if [ -x /opt/homebrew/bin/brew ]; then
    eval "$(/opt/homebrew/bin/brew shellenv)"
elif [ -x /usr/local/bin/brew ]; then
    eval "$(/usr/local/bin/brew shellenv)"
fi

Stow conflicts / “existing file” errors

Preview first:

stow --no --verbose=2 <package-name>

Then move/backup conflicting files and re-run stow.

Footnotes

  1. Change config directory to ~/.config/leader-key in app settings

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published