diff options
| -rw-r--r-- | Brewfile | 32 | ||||
| -rw-r--r-- | macos/brew.sh | 23 |
2 files changed, 55 insertions, 0 deletions
diff --git a/Brewfile b/Brewfile new file mode 100644 index 0000000..b64030d --- /dev/null +++ b/Brewfile @@ -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" diff --git a/macos/brew.sh b/macos/brew.sh new file mode 100644 index 0000000..ae8c5f7 --- /dev/null +++ b/macos/brew.sh @@ -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." |
