cmc/dotfiles
Using GNU Stow to manage my dotfiles.
clone: git clone https://gitbay.org/cmc/dotfiles.git
9f25cc85998c0fec78cd2391390c78f4ee058133
verified · cmc
author: Christian Cleberg <hello@cleberg.net> · 2026-02-16T00:28:52Z
Brewfile | 32 ++++++++++++++++++++++++++++++++ macos/brew.sh | 23 +++++++++++++++++++++++ 2 files changed, 55 insertions(+) new file mode 100644 @@ -0,0 +1,32 @@ +# Taps +tap "homebrew/bundle" +tap "homebrew/services" +tap "koekeishiya/formulae" + +# Formulae +brew "stow" +brew "gnupg" +brew "pinentry-mac" +brew "git" +brew "ripgrep" +brew "fzf" +brew "bat" +brew "fd" +brew "yabai" +brew "skhd" +brew "ispell" +brew "zsh-autosuggestions" +brew "zsh-syntax-highlighting" +brew "powerlevel10k" +brew "uv" +brew "gh" +brew "glab" + +# Casks +cask "iterm2" +cask "vscodium" +cask "bitwarden" +cask "mullvad-vpn" +cask "signal" +cask "syncthing" +cask "font-fira-code-nerd-font" new file mode 100644 @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# Get the directory where this script lives +MACOS_DIR=$(dirname "$(realpath "$0")") + +echo "🍺 Syncing Homebrew with Brewfile..." + +if ! command -v brew &> /dev/null; then + echo "Installing Homebrew first..." + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + eval "$(/opt/homebrew/bin/brew shellenv)" +fi + +# Use bundle to install everything in the Brewfile +# --cleanup would remove anything NOT in the Brewfile (use with caution!) +brew bundle --file="$MACOS_DIR/Brewfile" + +# Restart services to ensure they pick up any stowed config changes +echo "♻️ Restarting services..." +brew services restart yabai +brew services restart skhd + +echo "✅ macOS environment synced."