-
Notifications
You must be signed in to change notification settings - Fork 0
/
brew
executable file
·115 lines (104 loc) · 2.71 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
#!/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
)
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
# 'logi-options+' # logitech mouse configuration
)
social=(
'telegram'
)
fonts=(
'font-fira-code'
'font-jetbrains-mono'
'font-fira-code-nerd-font'
)
all=(
"${devTools[@]}"
"${utils[@]}"
"${social[@]}"
"${fonts[@]}"
)
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() {
devUtils=(
'python3'
'n' # node version manager
'neovim'
'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