-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbrew
executable file
·136 lines (122 loc) · 3.22 KB
/
brew
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
#!/bin/sh
if [[ ! -f $(which brew) ]]; then
echo "Oh no! Dotfiles requires Homebrew to be installed. Please visit https://brew.sh for installation instructions. Execute me again when brew is installed."
exit 1
fi
brew update
function install_casks() {
brew tap homebrew/cask-fonts
devTools=(
'iterm2'
'visual-studio-code'
'insomnia' # API development
'postman' # API development
'docker'
'spotify'
'github' # get native notifications from github, not emails
# 'wireshark' # network protocol analyzer
'ollama' # run LLMs on your machine
'rapidapi' # API client
'postman' # API client
)
utils=(
'1password'
'google-chrome'
'firefox'
'inkscape' # vector graphics editor
'gimp' # image editor
'vlc'
'notion' # note taking
'obsidian' # note taking
'tunnelblick' # vpn client
'calibre' # ebook management
# 'nordvpn'
'raindropio' # bookmark manager
'bettermouse' # mouse customization
'jordanbaird-ice' # powerful menu bar management tool
'startupfolder' # run anything at startup by simply placing it in a special folder
'lulu' # open-source firewall
)
social=(
'telegram'
)
fonts=(
'font-fira-code'
'font-jetbrains-mono'
'font-fira-code-nerd-font'
)
all=(
"${devTools[@]}"
"${utils[@]}"
"${social[@]}"
"${fonts[@]}"
)
# Apple store apps:
# - Reeder
# - Perplexity
# - ScreenBrush
# - Reverso
# - Synology Drive Client
# Setapp apps:
# - BoltAI
# - iStat Menus
# - ClearVPN
for cask in "${all[@]}"; do
brew install --cask $cask
done
}
function install_gnu_utils() {
all=(
'gnu-sed' # patches sed to be unix compatible
# Replaces standard Mac OS X utilities with GNU core utilities List of all commands can be
# found here: https://en.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands Initially
# available with 'g' prefix (grm, gmv etc.)
'coreutils'
# Extending directory search and file locating capabilities https://www.gnu.org/software/findutils/
'findutils'
)
for formula in "${all[@]}"; do
brew install $formula
done
}
function install_formulas() {
brew tap rsteube/homebrew-tap
devUtils=(
'python3'
'n' # node version manager
'neovim'
'rsteube/tap/carapace' # multi-shell completions
'git'
# Improves git diff https://github.com/so-fancy/diff-so-fancy gitconfig should be additionally
# configured to apply it for every diff.
'diff-so-fancy'
'gh' #github cli
'docker-compose'
'nushell'
'tmux'
'bat' # colorful cat
'zoxide' # faster way to navigate filesystem
'atuin' # improved shell history
'starship' # cross-shell prompt
)
utils=(
'p7zip' # 7zip archiver
# Use to convert & minimize video quality like: ffmpeg -i input.mov -vcodec libx265 -crf 28 output.mp4
'ffmpeg'
'ghostscript' # interpreter for the PostScript language and for PDF
'imagemagick' # image manipulation
)
all=(
"${devUtils[@]}"
"${utils[@]}"
)
for formula in "${all[@]}"; do
brew install $formula
done
# fzf is a general-purpose command-line fuzzy finder.
brew install fzf
$(brew --prefix)/opt/fzf/install
}
install_formulas
install_gnu_utils
install_casks