cmc/dotfiles

Using GNU Stow to manage my dotfiles. config dotfiles macos stow

Commit 9f25cc8599

9f25cc85998c0fec78cd2391390c78f4ee058133

parent: ded435a422

Verified · cmc

cmc <hello@cleberg.net> · 2026-02-16 00:28 UTC

add macos bootstrap script

Layout: unified · split

Brewfile added +32
@@ -0,0 +1,32 @@
1# Taps
2tap "homebrew/bundle"
3tap "homebrew/services"
4tap "koekeishiya/formulae"
5
6# Formulae
7brew "stow"
8brew "gnupg"
9brew "pinentry-mac"
10brew "git"
11brew "ripgrep"
12brew "fzf"
13brew "bat"
14brew "fd"
15brew "yabai"
16brew "skhd"
17brew "ispell"
18brew "zsh-autosuggestions"
19brew "zsh-syntax-highlighting"
20brew "powerlevel10k"
21brew "uv"
22brew "gh"
23brew "glab"
24
25# Casks
26cask "iterm2"
27cask "vscodium"
28cask "bitwarden"
29cask "mullvad-vpn"
30cask "signal"
31cask "syncthing"
32cask "font-fira-code-nerd-font"
macos/brew.sh added +23
@@ -0,0 +1,23 @@
1#!/usr/bin/env bash
2
3# Get the directory where this script lives
4MACOS_DIR=$(dirname "$(realpath "$0")")
5
6echo "🍺 Syncing Homebrew with Brewfile..."
7
8if ! command -v brew &> /dev/null; then
9 echo "Installing Homebrew first..."
10 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
11 eval "$(/opt/homebrew/bin/brew shellenv)"
12fi
13
14# Use bundle to install everything in the Brewfile
15# --cleanup would remove anything NOT in the Brewfile (use with caution!)
16brew bundle --file="$MACOS_DIR/Brewfile"
17
18# Restart services to ensure they pick up any stowed config changes
19echo "♻️ Restarting services..."
20brew services restart yabai
21brew services restart skhd
22
23echo "✅ macOS environment synced."