summaryrefslogtreecommitdiff
path: root/Brewfile
diff options
context:
space:
mode:
Diffstat (limited to 'Brewfile')
-rw-r--r--Brewfile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Brewfile b/Brewfile
new file mode 100644
index 0000000..44eb65d
--- /dev/null
+++ b/Brewfile
@@ -0,0 +1,39 @@
+# 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.
+# Per-machine apps and toolchains are not here; install those by hand, and
+# server software from whatever provisions that machine. install.sh applies this
+# with `brew bundle`, which only adds.
+
+# Something breaks without these.
+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"
+
+cask "alacritty"
+cask "hammerspoon"
+cask "neovide-app"
+# 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 }