-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstallscript
More file actions
executable file
·221 lines (177 loc) · 6.74 KB
/
installscript
File metadata and controls
executable file
·221 lines (177 loc) · 6.74 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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#!/bin/bash
# Hide "last login" line when starting a new terminal session
touch $HOME/.hushlogin
# Install zsh
echo 'Install oh-my-zsh'
echo '-----------------'
rm -rf $HOME/.oh-my-zsh
curl -L https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
echo 'Install & set configs'
echo '-----------------'
# Add global githooks
ln -s $HOME/.dotfiles/shell/git $HOME/.git
# Add global gitignore
git config --global core.excludesfile $HOME/.git/.global-gitignore
git config --global core.hooksPath $HOME/.git/hooks
# Symlink zsh preferences
rm $HOME/.zshrc
ln -s $HOME/.dotfiles/shell/.zshrc $HOME/.zshrc
# Symlink global b5 Taskfile (for b5 Taskrunner)
[ -d $HOME/.b5 ] || mkdir -p $HOME/.b5 # create .b5 folder if it doesn't exist
rm $HOME/.b5/Taskfile
ln -s $HOME/.dotfiles/misc/Taskfile $HOME/.b5/Taskfile
# Symlink vim prefs
rm $HOME/.vimrc
ln -s $HOME/.dotfiles/shell/.vimrc $HOME/.vimrc
rm $HOME/.vim
ln -s $HOME/.dotfiles/shell/.vim $HOME/.vim
# Symlink the Mackup config
ln -s $HOME/.dotfiles/macos/.mackup.cfg $HOME/.mackup.cfg
# Fix missing font characters (see https://github.com/robbyrussell/oh-my-zsh/issues/1906)
cd ~/.oh-my-zsh/themes/
git checkout d6a36b1 agnoster.zsh-theme
# Activate z
cd ~/.dotfiles/shell
chmod +x z.sh
echo 'Install homebrew'
echo '----------------'
echo install homebrew
sudo rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# m1 mac only:
if [ -d "/opt/homebrew/bin/" ]; then
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
echo 'Install zsh-autosuggestions'
echo '---------------------------'
brew install zsh-autosuggestions
echo 'Install zsh-syntax-highlighting'
echo '---------------------------'
brew install zsh-syntax-highlighting
echo 'Install zsh-completions'
brew install zsh-completions
echo '---------------------------'
echo 'Install zsh-completions'
echo '---------------------------'
git clone https://github.com/jessarcher/zsh-artisan.git $HOME/.dotfiles/misc/oh-my-zsh-custom/plugins/artisan
echo 'Install pkg-config'
echo '------------------'
brew install pkg-config
echo 'Install wget'
echo '------------'
brew install wget
echo 'Install httpie'
echo '--------------'
brew install httpie
echo 'Install ncdu'
echo '------------'
brew install ncdu
echo 'Install hub'
echo '-----------'
brew install hub
echo 'Install ack'
echo '-----------'
brew install ack
echo 'Install rsync'
echo '-----------'
brew install rsync
echo 'Install bat'
echo '------------'
brew install bat
#echo 'Install nice quicklook plugins'
#echo '-----------------------------------'
#brew install --cask --force qlcolorcode qlstephen qlmarkdown quicklook-json qlprettypatch quicklook-csv webp-quicklook suspicious-package
echo 'Install php'
echo '-----------'
brew install php@8.2
brew install php@8.3
brew install php@8.4
echo 'Install yt-dlp'
echo '-----------'
brew install yt-dlp
echo 'Install composer'
echo '----------------'
EXPECTED_COMPOSER_CHECKSUM="$(curl https://composer.github.io/installer.sig)"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_COMPOSER_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_COMPOSER_CHECKSUM" != "$ACTUAL_COMPOSER_CHECKSUM" ]
then
>&2 echo 'ERROR: Invalid installer checksum'
rm composer-setup.php
exit 1
fi
php composer-setup.php
rm composer-setup.php
sudo mkdir /usr/local/bin/
sudo mv composer.phar /usr/local/bin/composer
#echo 'Install laravel valet plus (with domain vspdev)'
#echo '---------------------'
#brew tap henkrehorst/homebrew-php
#composer global require weprovide/valet-plus
#valet install
#valet domain vspdev # or whatever you like of course
#valet install mysql
#valet install elasticsearch
echo 'Install laravel valet'
echo '---------------------'
composer global require laravel/valet
valet install
# add reference to nginx config file to fix gateway errors locally
local nginxConfPath='/opt/homebrew/etc/nginx/nginx.conf'
grep -qF '.config/valet/Nginx/*' $nginxConfPath && grep -qF "$HOME/.dotfiles/misc/nginx.conf" $nginxConfPath || sed -i '' -e '\|.config/valet/Nginx/*|a\'$'\n include "'"$HOME"'/.dotfiles/misc/nginx.conf";' $nginxConfPath
echo 'Install mysql'
echo '-------------'
brew install mysql
brew services start mysql
echo 'Install mackup'
echo '--------------'
brew install mackup
echo 'Install node via nvm'
echo '------------'
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nvm install node
echo 'Configure npm'
echo '-------------'
# Create a directory for global packages and tell npm where to store globally installed packages
mkdir "${HOME}/.npm-packages"
npm config set prefix "${HOME}/.npm-packages"
echo 'Install python (3.12, 3.13)'
echo '-----------'
brew install python@3.12
brew install python@3.13
echo 'Install pipx'
echo '-----------'
brew install pipx
pipx ensurepath
echo 'Install poetry'
echo '-----------'
pipx install poetry
echo 'Install comlipy'
echo '-----------'
brew tap slashplus/comlipy https://gitlab.com/slashplus-build/comlipy.git
brew install comlipy
echo 'Install b5 Taskrunner'
echo '-----------'
brew tap team23/b5 https://git.team23.de/build/homebrew-b5.git
brew install b5
echo 'Install macOS apps (alfred, docker for mac, sublime-text, table-plus, docker, tunnelblick, vscode, phpmonitor, ray, raycast, shottr)'
echo '-------------'
brew tap nicoverbruggen/homebrew-cask # for phpmon
brew install --cask docker sublime-text warp iterm2 tableplus alfred insomnia tunnelblick visual-studio-code phpmon ray raycast shottr
echo '++++++++++++++++++++++++++++++'
echo '++++++++++++++++++++++++++++++'
echo 'All done!'
echo 'Things to do to make the agnoster terminal theme work:'
echo '1. Install menlo patched font included in ~/.dotfiles/misc https://gist.github.com/qrush/1595572/raw/Menlo-Powerline.otf'
echo '2. Install patched solarized theme included in ~/.dotfiles/misc'
echo '++++++++++++++++++++++++++++++'
echo 'Some optional tidbits'
echo '1. Make sure dropbox is running first. If you have not backed up via Mackup yet, then run `mackup backup` to symlink preferences for a wide collection of apps to your dropbox. If you already had a backup via mackup run `mackup restore` You'\''ll find more info on Mackup here: https://github.com/lra/mackup.'
echo '2. Set some sensible os x defaults by running: $HOME/.dotfiles/macos/set-defaults.sh'
echo '3. Make a .dotfiles-custom/shell/.aliases for your personal commands'
echo '++++++++++++++++++++++++++++++'
echo '++++++++++++++++++++++++++++++'