-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.sh
executable file
·129 lines (110 loc) · 2.54 KB
/
setup.sh
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
#!/usr/bin/env bash
BLACK='\033[0;30m'
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
MAGENTA='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[0;37m'
NC='\033[0m'
DOTFILES_DIR="/tmp/dotfiles"
install () {
if yay -Q $1 >/dev/null 2>&1; then
echo -e "${BLUE}$1 is installed${NC}"
else
echo -e "${YELLOW}Installing $1${NC}"
yay -S --noconfirm --needed $1
fi
}
# ESSENTIALS
## WM
install 'picom'
install 'i3-wm'
install 'i3lock'
install 'i3status'
## Terminal emulator
install 'alacritty'
## LSPs
install 'lua-language-server'
install 'jdtls'
install 'typescript-language-server'
## System
install 'pipewire'
install 'pavucontrol'
install 'feh'
install 'flameshot'
install 'imagemagick'
install 'arandr'
install 'neovim'
install 'xclip'
install 'scrot'
install 'xidlehook'
install 'dmenu'
WITHPERSONAL=false
DOTFILES=false
while getopts "wpd" opt; do
case ${opt} in
w)
WITHPERSONAL=true
;;
p)
;;
d)
DOTFILES=true
;;
*)
echo "Usage: $0 [-w] [-d] for withpersonal and dotfiles setup"
exit 1
;;
esac
done
if $WITHPERSONAL; then
echo -e "${GREEN}Setting up personal tools${NC}"
install 'thunar'
install 'vlc'
install 'virtualbox'
install 'virtualbox-host-modules-arch'
install 'qdigidoc4'
install 'obs-studio'
install 'vlc'
install 'thunar'
install 'google-chrome'
install 'docker'
install 'docker-compose'
install 'nodejs'
install 'intellij-idea-ultimate-edition'
install 'intellij-idea-ultimate-edition-jre'
install 'jdk17-openjdk'
install 'lua'
install 'spotify'
install 'bluez'
install 'bluez-utils'
else
echo -e "${YELLOW}--withpersonal flag missing, skipping personal tools setup${NC}"
fi
if $DOTFILES; then
echo -e "${GREEN}Setting up dotfiles${NC}"
for item in *; do
mv "$item" ~/.config/
done
else
echo -e "${YELLOW}--dotfiles flag missing, skipping dotfiles setup${NC}"
fi
if ! grep -q "exec startx" "/etc/profile"; then
echo -e "${YELLOW}Adding 'exec startx' to /etc/profile${NC}"
# Append the new block to /etc/profile
sudo sh -c 'cat <<EOF >> /etc/profile
if [[ "\$(tty)" == "/dev/tty1" ]]; then
exec startx
fi
EOF'
fi
if ! test -f ~/.xinitrc; then
echo -e "${YELLOW}Creating ~/.xinitrc${NC}"
touch ~/.xinitrc
fi
if ! grep -q "exec i3" ~/.xinitrc; then
echo -e "${YELLOW}adding 'exec i3' to ~/.xinitrc${NC}"
echo "exec i3" >> ~/.xinitrc
fi