Repository navigation
Expand file tree
/
Copy pathbrew
More file actions
204 lines (170 loc) · 4.81 KB
/
Copy pathbrew
File metadata and controls
204 lines (170 loc) · 4.81 KB
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
#!/usr/bin/env zsh
#-----------------------------------------------------------------------
# This script is to operate HomeBrew system.
#
# Author: Hao Feng (F1)
#
# Init Date: Mar. 13, 2019
# Last Date: Jun. 24, 2025
#
# Copyright (c) 2019-, RDS
#-----------------------------------------------------------------------
runname=`basename $0`
#- update/upgrade all apps
brewup () {
# brew update && brew upgrade && brew cu -a -y && /opt/homebrew/bin/mas upgrade
echo
echo "update homebrew ..."
echo "----------------------------"
brew update
echo
echo "upgrade all apps ... "
echo "----------------------------"
brew upgrade
echo
echo "upgrade all cask apps ... "
echo "----------------------------"
brew cu -a -f -y
echo
echo "upgrade all mac apps ... "
echo "----------------------------"
/opt/homebrew/bin/mas upgrade
}
#- install app
bin () {
opt=
if [[ $2 == "cask" || $2 == "c" ]]; then
opt="--cask"
fi
brew install $1 -v --force $opt
}
brin () {
opt=
if [[ $2 == "cask" || $2 == "c" ]]; then
opt="--cask"
fi
brew reinstall $1 -v --force $opt
}
#- upgrade app
bup () {
brew upgrade $1 -v
}
#- uninstall app
bun () {
brew uninstall $1 -v
# brew rmtree $1
}
brm () {
brew rmtree $1
}
#- backup all brew apps
brewbk () {
echo "backup brew apps ... "
echo "----------------"
echo
brew bundle dump --file=~/.backup/Brewfile -f
}
#- restore all brew apps from backup file
brewrt () {
echo "restore brew apps ... "
echo "-----------------"
echo
brew bundle --file=~/.backup/Brewfile --force
}
#---
# brew system operations
brewinstall () {
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
}
brewuninstall () {
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
}
brewrm () {
brew ls --$1 | xargs brew remove -f --ignore-dependencies
}
#- reset official source
brewreset () {
unset HOMEBREW_BREW_GIT_REMOTE
rm ~/.zprofile
case $1 in
ustc)
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"' >! ~/.zprofile
echo 'export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"' >> ~/.zprofile
echo 'export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/bottles"' >> ~/.zprofile
;;
official | *)
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew
;;
esac
echo 'eval "$(/opt/homebrew/bin/brew shellenv)" ' >> ~/.zprofile
}
#---
#- brew 安装常用的软件
# 添加第三方库
brewtap () {
taps=(buo/cask-upgrade langgenius/dify beeftornado/rmtree mongodb/brew)
case $1 in
u)
run=untap
;;
*)
run=tap
;;
esac
for ap in $taps; do
brew $run $ap
done
}
brewapp () {
#- 先准备第三方库
brewtap
#- 命令行
apps=(aider aspell autoconf autojump automake bat blueutil brew-rmtree btop
cmake coreutils cowsay difftastic dify duf duti epr eza ffmpeg fortune
gcc git git-imerge gpg hugo jj libtool localai
macchina macmon mactop mas mongodb-community mysql
ncdu ngrok ollama pandoc redis sleepwatcher sqlite tmux tree-sitter
uv vim wget yazi youtubedr
)
#- 图形界面
appc=(alfred appcleaner arc baidunetdisk bean betterdisplay
calibre cherry-studio clash-verge-rev cursor docker-desktop drawio
easydict eclipse-ide emacs-app feishu fork gimp google-chrome
hammerspoon handbrake-app hiddenbar homerow iina iterm2
karabiner-elements lyricsx
macdown mactex maczip mendeley-reference-manager miniforge
namechanger neo4j-desktop netnewswire nimble-commander
obsidian ollama onyx orbstack rectangle shottr squirrel-app superwhisper
tencent-meeting thunder trae visual-studio-code wechat wechatwork wine-stable
wljs-notebook wolfram-engine
)
case $1 in
c)
app=($appc)
run="install"
opt="--cask"
;;
rc)
app=($appc)
run="reinstall"
opt="--cask"
;;
r)
app=($apps)
run="reinstall"
opt=
;;
*)
app=($apps)
run="install"
opt=
;;
esac
echo
echo "$#app apps $opt will be installed ... "
echo "-----------------------------"
echo
brew $run $app --force $opt
}
#-------------------------------------------