-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Brewfile
323 lines (302 loc) · 9.06 KB
/
Brewfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# A subset of packages that are safe to install on both macos and linux and documented in this Brewfile
# the goal is to provide a common of set of utilities that can be installed on a macos or linux (codespace) machine
tap 'homebrew/bundle'
# == General Utilities
brew "git"
brew "vim"
brew "lynx"
brew "rename"
brew "wget"
brew "ngrep" # network grep
brew "optipng"
brew "iftop" # network top
brew "trippy" # traceroute
brew "lftp"
brew "iproute2mac"
# required fix for me: https://github.com/httpie/cli/issues/1535#issuecomment-1773774369
brew "httpie"
brew "ncdu"
brew "curl"
brew "awk" # in codespaces, the default version is especially strange
brew "awscli"
brew "aws-sam-cli"
brew "session-manager-plugin" if OS.mac?
brew "cloc" # code analytics
brew "jq" # json extraction
brew "hey"
brew "gh"
brew "sqlite"
brew "md5sha1sum"
brew "git-lfs"
brew "vimcal"
# == Data manipulation
brew "q" if OS.mac? # sql on csv
brew "dsq" # sql over json and other formats
brew "yq" # yq for yaml and others, great for in place manipulating files
brew "dasel" # consistent language for extracting data from XML, CSV, and others. No aggregates.
tap "brimdata/tap"
brew "brimdata/tap/zq" # faster/better jq, has aggregates
brew "htmlq"
brew "xsv" # csv tooling
brew "tabiew" # tui for csv and data viewing
# == Shell productivity utilities
brew "zsh"
brew "ripgrep"
brew "entr"
brew "prettyping"
brew "less"
brew "nano"
brew "fd" # find
brew "yank"
brew "tldr"
brew "zoxide"
brew "fzf"
brew "bc" # used by git-fuzzy
brew "diff-so-fancy" # diff replacement
brew "git-delta" # diff replacement
brew "bat" # cat, can also do paging
brew "eza" # ls
brew "hck" # cut
brew "tre-command"
brew "htop"
brew "procs" # ps
brew "sd" # sed
brew "svn" # for `zinit ice svn`
brew "dog" # dig replacement
brew "moreutils" # sponge
brew "xplr" # file management
brew "dust" # du replacement, another option is duf
brew "qpdf" # for decrypting pdf files
brew "rsync" # get the latest version for new features
brew "watch" # execute program every X seconds
brew "docker-completion" if OS.linux?
brew "shellcheck" # for vscode bash ide
brew "iotop"
# == tmux related tools
brew "tmux"
brew "reattach-to-user-namespace" if OS.mac?
brew "urlview"
brew "terminal-notifier" if OS.mac? # for `zsh-notify`
# == Experimental (don't install on server)
if OS.mac?
tap "afnanenayet/tap"
brew "afnanenayet/tap/diffsitter"
tap "noahgorstein/tap"
brew "noahgorstein/tap/jqp"
brew "act"
brew "trunk-io"
brew "pstree" # procs seem to have a tree view and is a bit better
brew "broot" # better file finding
brew "dolt"
brew "noborus/tap/ov" # pager replacement
brew "lnav" # log viewer, partial pager replacement
brew "ollama"
brew "llm"
brew "buildpacks/tap/pack"
brew "dive" # docker inspection
brew "pgcli" # better psql, with autocompletion and DATABASE_URL connection support
brew "kitty" # yet another terminal
brew "gmailctl" # gmail filter configuration as code
brew "cleanshot" # best email tool, not sure if it's better than dropbox capture
tap "heroku/brew"
brew "heroku/brew/heroku"
tap "railwayapp/railway"
brew "railway"
brew "google-cloud-sdk" # cli tools for google cloud
brew "azure-cli"
brew "certbot"
end
if OS.mac?
tap 'homebrew/cask'
tap "homebrew/cask-drivers"
tap 'homebrew/cask-fonts'
tap 'homebrew/cask-versions'
brew "lunchy"
brew "yt-dlp"
brew "gpg"
brew "pinentry-mac"
brew "iloveitaly/tap/hyper-focus"
cask "another-redis-desktop-manager"
cask "todoist"
cask "grammarly-desktop"
cask "spotify"
cask "bartender"
cask "microsoft-teams"
cask "arctype"
cask "arc"
cask "signal"
cask "google-chrome"
cask "dropbox"
cask "1password"
cask "1password-cli"
cask "google-drive"
cask "iterm2"
# cask "slack"
cask "slack-beta"
# does not support silicon installation yet
system "arch -x86_64 brew install amazon-music"
cask "amazon-photos"
cask "homebrew/cask-versions/soulver2"
cask "kap"
cask "stay"
cask "homebrew/cask-versions/kaleidoscope2"
cask "skype"
cask "postgres-unofficial"
cask "rectangle"
cask "valentina-studio"
cask "libreoffice"
cask "onyx"
cask "cyberduck"
cask "dash"
cask "skyfonts"
cask "base"
cask "colorpicker-skalacolor"
cask "homebrew/cask-versions/arq5"
cask "messenger"
cask "scrivener"
cask "postico"
cask "wordpresscom"
cask "gimp"
cask "grammarly"
cask "launchcontrol"
cask "hyper"
cask "raycast"
cask "google-chrome-canary"
cask "zoom"
cask "the-unarchiver"
cask "sketch"
# cask "disk-sensei"
cask "paw"
cask "safari-technology-preview"
cask "openrefine"
cask "lepton"
cask "muzzle"
# cask "https://raw.githubusercontent.com/Homebrew/homebrew-cask/00a37cb6ea00ca2820652b75ebd1f57ba160c3e5/Casks/screenflow.rb"
cask "visual-studio-code"
cask "visual-studio-code-insiders"
cask "cloudapp"
cask "chromedriver"
# you must open up the docker macos app in order to symlink docker cli
cask "docker"
cask "monitorcontrol"
cask "activitywatch"
cask "discord"
cask "keybase"
cask "telegram"
cask "alacritty", args: { no_quarantine: true }
# helpful for phone-only applications that you want to run your mac without apple silicon
cask "bluestacks"
cask "cron"
cask "obsidian"
cask "calibre"
cask "shortcutdetective"
cask "logitech-options"
cask "karabiner-elements"
cask "insomnia"
cask "mysteriumvpn"
cask "stats"
cask "vnc-viewer"
cask "dropbox-capture"
cask "loom"
cask "ngrok"
cask "firefox" # for debugging, not actual use
# == Experimental
cask "appcleaner"
cask "fig"
cask "tip"
cask "krisp"
cask "webcatalog"
cask "warp"
cask "wireshark"
cask "cheatsheet"
cask "rocket"
cask "figma"
cask "tableplus"
cask "openrefine", { args: { no_quarantine: true } }
cask "keycastr"
# == Quicklook Plugins
# These need to be manually enabled in macos preferences
# - https://github.com/sindresorhus/quick-look-plugins
# - https://github.com/haokaiyang/Mac-QuickLook
cask "qlmarkdown", args: { no_quarantine: true }
cask "qlimagesize"
cask "mdimagesizemdimporter"
cask "iloveitaly/tap/qlzipinfo"
# remove the cached file if you run into weird rendering issues
cask "syntax-highlight", args: { no_quarantine: true }
cask "webpquicklook"
cask "apparency"
# TODO peek paid quicklook
# qlmanage -m
# == Fonts
cask "font-source-code-pro"
cask "font-hack"
cask "font-roboto-mono-nerd-font"
# == MacOS-only Shell Tooling
# some of these tools are strictly terminal related, but do not play well with linux/codespaces
brew "mysql"
brew "wp-cli", args: ["ignore-dependencies"]
brew "ffmpeg" # mainly for gif generation
brew "gifsicle"
brew "mackup"
brew "duti"
brew "spoof-mac"
brew "keith/formulae/zap"
brew "mas"
brew "webkit2png"
brew "rga"
brew "cmake" # for ruby native extensions
brew "make" # to get the latest version (4.x vs 3.x)
brew "gnu-time" # much better than shell time builtin for performance tracking
brew "java" # for elixir
brew "wxwidgets" # for elixir
# helpful dependencies for rga
%w(pandoc poppler tesseract ffmpeg).map {|p| brew p}
brew "saulpw/vd/visidata"
# php-related packages for asdf install
%w(re2c bison bzip2 freetype gettext libiconv icu4c jpeg libedit libpng libxml2 libzip openssl readline webp zlib gmp libsodium imagemagick).map { |p| brew p }
# == Experimental
brew "siege" # load testing tool
brew "ameshkov/tap/dnslookup"
brew "smudge/smudge/nightlight"
brew "hyperfine"
# homerow
# mongodb
tap "mongodb/brew"
brew "mongodb-community"
cask "mongodb-compass"
# == Mac App store
# personal account
mas "Streaks", id: 963034692
mas "Flow", id: 1423210932
mas "Harvest", id: 506189836
mas "Free Ruler", id: 1483172210
mas "Tailscale", id: 1475387142
mas "Flighty" id: 1358823008
# shareful
# quicklook plugin
# xcode kept reinstalling for me, adding a extra gate here
if !File.directory?("/Applications/Xcode.app")
mas "Xcode", id: 497799835
system "sudo xcodebuild -license accept"
else
puts "Xcode already installed, skipping"
end
mas "AudioWrangler", id: 1565701763
mas "Streaks", id: 963034692
mas "EasyRes", id: 688211836
# TODO kindle
# TODO these are ios apps which do not seem to install well
# mas "blink-home-monitor", id: 1013961111
# mas "wyze-make-your-home-smarter", id: 1288415553
# TODO Owlet, is there a way to force this to install?
# TODO wireguard
# on business account
mas "Icon Slate", id: 439697913
mas "Mactracker", id: 430255202
mas "Trello", id: 1278508951
mas "Medis - GUI for Redis", id: 1063631769
mas "Drop - Color Picker", id: 1173932628
mas "Pixelmator Classic", id: 407963104
mas "Toolbox for Pages", id: 571654652
end