-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinstall_setup
executable file
·306 lines (257 loc) · 7.77 KB
/
install_setup
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
#!/bin/bash
log_file=~/install_progress_log.txt
echo " "
echo "THIS IS A SCRIPT JUST MADE FOR ME. I suggest using this script as reference."
echo "This was strictly made for arch"
echo "In case you're using this script change your preferred AUR Wrapper"
echo " "
if type -p paru > /dev/null; then
echo "paru INSTALLED" >> "$log_file"
else
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -shi
fi
essential(){
paru -S ttf-ubuntu-nerd ttf-jetbrains-mono-nerd
sudo pacman -S firefox fish kitty rofistarship pamixer brightnessctl playerctl lxappearance stow
if type -p fish > /dev/null; then
echo "fish INSTALLED" >> "$log_file"
else
echo "fish FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p kitty > /dev/null; then
echo "kitty INSTALLED" >> "$log_file"
else
echo "kitty FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p rofi > /dev/null; then
echo "rofi INSTALLED" >> "$log_file"
else
echo "rofi FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p dunst > /dev/null; then
echo "dunst INSTALLED" >> "$log_file"
else
echo "dunst FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p exa > /dev/null; then
echo "exa INSTALLED" >> "$log_file"
else
echo "exa FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p pamixer > /dev/null; then
echo "pamixer INSTALLED" >> "$log_file"
else
echo "pamixer FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p brightnessctl > /dev/null; then
echo "brightnessctl INSTALLED" >> "$log_file"
else
echo "brightnessctl FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p playerctl > /dev/null; then
echo "playerctl INSTALLED" >> "$log_file"
else
echo "playerctl FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p lxappearance > /dev/null; then
echo "lxappearance INSTALLED" >> "$log_file"
else
echo "lxappearance FAILED TO INSTALL!!!" >> "$log_file"
fi
paru -Q | grep -q "starship"
if [ $? -eq 0 ]; then
echo "starship INSTALLED" >> $log_file
else
echo "starship FAILED TO INSTALL" >> $log_file
fi
}
hyprland() {
sudo pacman -S swaybg wlroots
paru -S waybar-hyprland-git hyprland-git grimblast-git xdg-desktop-portal-hyprland-git networkmanager_dmenu nwg-look swaync swaylock
if type -p hyprland > /dev/null; then
echo "hyprland INSTALLED" >> "$log_file"
else
echo "hyprland FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p waybar > /dev/null; then
echo "waybar INSTALLED" >> "$log_file"
else
echo "waybar FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p swaybg > /dev/null; then
echo "swaybg INSTALLED" >> "$log_file"
else
echo "swaybg FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p wlroots > /dev/null; then
echo "wl-roots INSTALLED" >> "$log_file"
else
echo "wl-roots FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p grimblast > /dev/null; then
echo "grimblast INSTALLED" >> "$log_file"
else
echo "grimblast FAILED TO INSTALL!!!" >> "$log_file"
fi
paru -Q | grep -q "xdg-desktop-portal-hyprland-git"
if [ $? -eq 0 ]; then
echo "portal-hyprland INSTALLED" >> $log_file
else
echo "portal-hyprland FAILED TO INSTALL" >> $log_file
fi
if type -p networkmanager_dmenu > /dev/null; then
echo "networkmanager_dmenu INSTALLED" >> "$log_file"
else
echo "networkmanager_dmenu FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p swaylock > /dev/null; then
echo "swaylock INSTALLED" >> "$log_file"
else
echo "swaylock FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p swaync > /dev/null; then
echo "swaync INSTALLED" >> "$log_file"
else
echo "swaync FAILED TO INSTALL!!!" >> "$log_file"
fi
}
qtile() {
pip3 install psutil
sudo pacman -S pacman-contrib xorg-server xorg-fonts-encodings xorg-setxkbmap xorg-xprop xorg-xset
paru qtile-git
if type -p qtile > /dev/null; then
echo "qtile INSTALLED" >> "$log_file"
else
echo "qtile FAILED TO INSTALL!!!" >> "$log_file"
fi
paru -Q | grep -q "python-psutil"
if [ $? -eq 0 ]; then
echo "psutil INSTALLED" >> $log_file
else
echo "psutil FAILED TO INSTALL" >> $log_file
fi
paru -Q | grep -q "pacman-contrib"
if [ $? -eq 0 ]; then
echo "pacman-contrib INSTALLED" >> $log_file
else
echo "pacman-contrib FAILED TO INSTALL" >> $log_file
fi
}
install_bsp() {
sudo pacman -S bspwm sxhkd scrot xorg-server xorg-fonts-encodings xorg-setxkbmap xorg-xprop xorg-xset
paru -S betterlockscreen
if type -p bspwm > /dev/null; then
echo "bspwm INSTALLED" >> "$log_file"
else
echo "bspwm FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p sxhkd > /dev/null; then
echo "sxhkd INSTALLED" >> "$log_file"
else
echo "sxhkd FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p scrot > /dev/null; then
echo "scrot INSTALLED" >> "$log_file"
else
echo "scrot FAILED TO INSTALL!!!" >> "$log_file"
fi
if type -p betterlockscreen > /dev/null; then
echo "betterlockscreen INSTALLED" >> "$log_file"
else
echo "betterlockscreen FAILED TO INSTALL!!!" >> "$log_file"
fi
}
create_symlink_hypr(){
rm $HOME/.config/kitty
rm $HOME/.config/hypr
rm $HOME/.config/fish
rm $HOME/.config/waybar
rm $HOME/.config/dunst
rm $HOME/.config/rofi
rm $HOME/.config/mpd
rm $HOME/.config/ncmpcpp
rm $HOME/.config/neofetch
rm $HOME/.config/starship.toml
stow hypr/ fish/ waybar/ dunst/ rofi/ mpd/ ncmpcpp/ neofetch/ starship/ kitty/ scripts/
echo "Created symlink to 'hypr', 'fish', 'waybar', 'dunst', 'rofi', 'mpd', 'ncmpcpp', 'neofetch', 'starship', 'kitty' and 'scripts' " >> "$log_file"
}
create_symlink_qtile(){
rm $HOME/.config/kitty
rm $HOME/.config/qtile
rm $HOME/.config/dunst
rm $HOME/.config/fish
rm $HOME/.config/mpd
rm $HOME/.config/rofi
rm $HOME/.config/ncmpcpp
rm $HOME/.config/neofetch
rm $HOME/.config/picom
rm $HOME/.config/starship.toml
stow qtile/ dunst/ fish/ rofi/ mpd/ ncmpcpp/ neofetch/ picom/ starship/ kitty/ scripts/
echo "Created symlink to 'qtile', 'fish', 'dunst', 'rofi', 'mpd', 'ncmpcpp', 'neofetch', 'starship', 'kitty' and 'scripts' " >> "$log_file"
}
create_symlink_bsp(){
rm $HOME/.config/kitty
rm $HOME/.config/bspwm
rm $HOME/.config/sxhkd
rm $HOME/.config/dunst
rm $HOME/.config/fish
rm $HOME/.config/rofi
rm $HOME/.config/mpd
rm $HOME/.config/ncmpcpp
rm $HOME/.config/neofetch
rm $HOME/.config/polybar
rm $HOME/.config/starship.toml
stow bspwm/ sxhkd/ dunst/ fish/ rofi/ mpd/ ncmpcpp/ neofetch/ polybar/ picom/ starship/ scripts/
echo "Created symlink to 'bspwm', 'sxhkd', 'fish', 'dunst', 'rofi', 'mpd', 'ncmpcpp', 'neofetch', 'starship', 'kitty' and 'scripts' " >> "$log_file"
}
install_nvchad(){
echo "Do you want to install NvChad? (y) YES (n) NO "
if [[ "$choice" == "y" ]]; then
sudo pacman -S neovim
rm -rf $HOME/.config/nvim
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1
cd $HOME/.dotfiles
stow nvim/
echo "Open 'nvim' after opening a window Manager"
else
echo "You denied installing NvChad"
fi
}
logs(){
echo
echo -e "\n====== Summary ======\n"
cat $log_file
echo
echo "Enjoy ;) -greed "
rm $log_file
}
echo "Enter what you want to install. Pressing any other key cancels the installation"
echo "(q) Qtile (h) Hyprland (b) BSPWM"
read -r choice
if [[ "$choice" == "q" ]]; then
install_paru
essential
qtile
create_symlink_qtile
sudo chsh -s /bin/fish
logs
elif [[ "$choice" == "h" ]]; then
install_paru
essential
hyprland
create_symlink_hypr
sudo chsh -s /bin/fish
logs
elif [[ "$choice" == "b" ]]; then
install_paru
essential
install_bsp
create_backup
sudo chsh -s /bin/fish
logs
else
echo "Cancelling..."
fi