# The account's tools: what this repo's own config and scripts use, so that a # machine with only this repo has what the shell, editor and terminals expect, # plus the handful of Mac apps this account wants on any machine it uses. # What is not here: per-machine apps and toolchains -- install those by hand -- # and server software, which comes from whatever provisions that machine. # install.sh applies this with `brew bundle`, which only adds. # Something breaks without these. brew "bash" # macOS ships 3.2. szecret's fallback that fetches # age -- the path taken before this file is applied # -- dies there on `${os,,}`, and config/bashrc # looks for the bash-completion 2.x that needs 4.2 brew "tmux" # both terminals start every window in tmux brew "neovim" # the editor; vi, vim and git all call nvim brew "age" # szecret brew "git" brew "git-lfs" # config/git/config sets up the lfs filter brew "fzf" # zshrc loads its key bindings from Homebrew # Used when present. brew "bat" # man pages, fzf previews brew "lsd" # ls brew "ripgrep" # nvim's grep brew "the_silver_searcher" brew "gh" # config/profile hands it the GitHub token brew "mosh" # alacritty-mosh, mosh-tmux.sh brew "terminal-notifier" # bin/notify brew "fswatch" # bin/sz-wait-for brew "n" # node versions, under $N_PREFIX brew "bash-completion" brew "shellcheck" brew "tree-sitter-cli" # nvim-treesitter generates and compiles parsers with it # Wanted on any machine this account uses, though nothing here reads them. brew "glow" # markdown rendered in the terminal cask "alacritty" cask "hammerspoon" cask "neovide-app" # Wanted on any Mac this account uses, though nothing here depends on it. cask "keepingyouawake" # menu-bar toggle that stops the Mac sleeping cask "jordanbaird-ice" # Ice: hides and arranges the menu bar itself # Not in homebrew-cask, so it comes from the author's own tap, with what that # means: nobody reviewed the cask, and the tap can change what it installs # between two runs of install.sh, which applies this file again every time. # What earns it that: the app is signed with a Developer ID and notarized # (checked 2026-10-01), so macOS can still say who shipped it. # # toggleMute was here too and was dropped: ad-hoc signed, no TeamIdentifier, # and `spctl -a` rejecting the bundle as modified since signing. It only runs # with its quarantine flag cleared, and nothing in a shared setup script should # quietly put an unverifiable binary past Gatekeeper on every machine. tap "b451c/quickmd" cask "b451c/quickmd/quickmd" # qmd.app: native markdown viewer, live preview, # AppKit rather than Electron # Only where no Ghostty is installed yet: a machine running the ghostty@tip # build would collide with a second cask over /Applications/Ghostty.app. cask "ghostty" unless File.exist?("/Applications/Ghostty.app") # Every Nerd Font Homebrew has, asked at run time rather than listed, so new # families arrive without editing this file. brew bundle evaluates it with no # brew on PATH, hence the full path it passes in HOMEBREW_BREW_FILE. brew_bin = ENV.fetch("HOMEBREW_BREW_FILE") { "#{ENV.fetch("HOMEBREW_PREFIX", "/opt/homebrew")}/bin/brew" } `"#{brew_bin}" search --cask nerd-font`.split.grep(/\Afont-.*-nerd-font\z/).each { |font| cask font }