forked from adi1090x/CustomArch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.sh
executable file
·235 lines (209 loc) · 6.35 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
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
#!/bin/bash
## Author: Aditya Shakya
## This script will download needed AUR pkgs, build them and automatically setup localrepo for this custom archlinux iso.
#colors
R='\033[1;31m'
B='\033[1;34m'
C='\033[0;36m'
G='\033[1;32m'
W='\033[1;37m'
Y='\033[1;33m'
DIR="$(pwd)"
PR1="aurafetch"
PR2="compton"
PR3="i3lock"
PR4="ksuperkey"
PR5="networkmanager-dmenu"
PR6="obmenu-generator"
PR7="perl-linux-desktopfiles"
PR8="polybar"
PR9="rxvt-unicode-pixbuf"
PR10="yay"
PR11="plymouth"
## Banner
echo
echo -e $B" ┌──────────────────────────────────┐"
echo -e $B" │ $R┏━┓┏━┓┏━╸╻ ╻ ╻ ╻┏┓╻╻ ╻╻ ╻ $B│"
echo -e $B" │ $R┣━┫┣┳┛┃ ┣━┫ ┃ ┃┃┗┫┃ ┃┏╋┛ $B│"
echo -e $B" │ $R╹ ╹╹┗╸┗━╸╹ ╹ ┗━╸╹╹ ╹┗━┛╹ ╹ $B│"
echo -e $B" └──────────────────────────────────┘"
echo -e $W" By:$C Aditya Shakya"
echo -e $W" Github:$C @adi1090x"
echo -e $W" Reddit:$C @adi1090x"
echo
## Setting Things Up
echo
echo -e $Y" [*] Installing Dependencies - "$C
echo
sudo pacman -Sy git archiso --noconfirm
echo
echo -e $G" [*] Succesfully Installed."$C
echo
echo -e $Y" [*] Modifying /usr/bin/mkarchiso - "$C
sudo cp /usr/bin/mkarchiso{,.bak} && sudo sed -i -e 's/-c -G -M/-i -c -G -M/g' /usr/bin/mkarchiso
echo
echo -e $G" [*] Succesfully Modified."$C
echo
## Cloning AUR Packages
cd $DIR/pkgs
echo -e $Y" [*] Downloading AUR Packages - "$C
echo
echo -e $Y" [*] Cloning aurafetch-git - "$C
git clone https://aur.archlinux.org/aurafetch-git.git --depth 1 $PR1
echo
echo -e $Y" [*] Cloning compton-tryone-git - "$C
git clone https://aur.archlinux.org/compton-tryone-git.git --depth 1 $PR2
echo
echo -e $Y" [*] Cloning i3lock-fancier-git - "$C
git clone https://aur.archlinux.org/i3lock-fancier-git.git --depth 1 $PR3
echo
echo -e $Y" [*] Cloning ksuperkey - "$C
git clone https://aur.archlinux.org/ksuperkey.git --depth 1 $PR4
echo
echo -e $Y" [*] Cloning networkmanager-dmenu-git - "$C
git clone https://aur.archlinux.org/networkmanager-dmenu-git.git --depth 1 $PR5
echo
echo -e $Y" [*] Cloning obmenu-generator - "$C
git clone https://aur.archlinux.org/obmenu-generator.git --depth 1 $PR6
echo
echo -e $Y" [*] Cloning perl-linux-desktopfiles - "$C
git clone https://aur.archlinux.org/perl-linux-desktopfiles.git --depth 1 $PR7
echo
echo -e $Y"[*] Cloning plymouth - "$C
git clone https://aur.archlinux.org/plymouth.git --depth 1 $PR11
echo
echo -e $Y" [*] Cloning polybar - "$C
git clone https://aur.archlinux.org/polybar.git --depth 1 $PR8
echo
echo -e $Y" [*] Cloning rxvt-unicode-pixbuf - "$C
git clone https://aur.archlinux.org/rxvt-unicode-pixbuf.git --depth 1 $PR9
echo
echo -e $Y" [*] Cloning yay - "$C
git clone https://aur.archlinux.org/yay.git --depth 1 $PR10
echo
echo -e $G" [*] Downloaded Successfully."$C
echo
## Building AUR Packages
mkdir -p ../localrepo/i686 ../localrepo/x86_64
echo -e $Y" [*] Building AUR Packages - "$C
echo
echo -e $Y" [*] Building $PR1 - "$C
cd $PR1 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR2 - "$C
cd $PR2 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR3 - "$C
cd $PR3 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR4 - "$C
cd $PR4 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR5 - "$C
cd $PR5 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR6 - "$C
cd $PR6 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR7 - "$C
cd $PR7 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR8 - "$C
cd $PR8 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR9 - "$C
cd $PR9 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y" [*] Building $PR10 - "$C
cd $PR10 && makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo -e $Y"[*] Building $PR11 - "$C
cd $PR11
cp -r $DIR/pkgs/beat $DIR/pkgs/plymouth
sed -i '$d' PKGBUILD
cat >> PKGBUILD <<EOL
sed -i -e 's/Theme=.*/Theme=beat/g' \$pkgdir/etc/plymouth/plymouthd.conf
sed -i -e 's/ShowDelay=.*/ShowDelay=1/g' \$pkgdir/etc/plymouth/plymouthd.conf
cp -r ../../beat \$pkgdir/usr/share/plymouth/themes
}
EOL
sum1=$(md5sum lxdm-plymouth.service | awk -F ' ' '{print $1}')
cat > lxdm-plymouth.service <<EOL
[Unit]
Description=LXDE Display Manager
After=systemd-user-sessions.service [email protected] plymouth-quit.service
[Service]
ExecStart=/usr/sbin/lxdm
Restart=always
IgnoreSIGPIPE=no
[Install]
Alias=display-manager.service
EOL
sum2=$(md5sum lxdm-plymouth.service | awk -F ' ' '{print $1}')
sed -i -e "s/$sum1/$sum2/g" PKGBUILD
makepkg -s
mv *.pkg.tar.xz ../../localrepo/x86_64
cd ..
echo
echo -e $G" [*] All Packages Builted Successfully."$C
echo
## Setting up LocalRepo
cd $DIR/localrepo/x86_64
echo -e $Y" [*] Setting Up Local Repository - "$C
echo
repo-add localrepo.db.tar.gz *
echo
echo -e $Y" [*] Appending Repo Config in Pacman file - "$C
echo
echo "[localrepo]" >> $DIR/customiso/pacman.conf
echo "SigLevel = Optional TrustAll" >> $DIR/customiso/pacman.conf
echo "Server = file://$DIR/localrepo/\$arch" >> $DIR/customiso/pacman.conf
echo
## Optional
echo -e $Y" [*] Do you want EDEX-UI in the ISO? (Y/N)"$C
read answer
if [ $answer = "Y" ] || [ $answer = "y" ];
then
echo
echo -e $Y" [*] Alright, Setting up edex-ui... "$C
echo
cd $DIR/customiso/airootfs && mkdir opt && cd opt
wget https://github.com/GitSquared/edex-ui/releases/download/v2.2.2/eDEX-UI.Linux.x86_64.AppImage
chmod 644 eDEX-UI.Linux.x86_64.AppImage && chmod +x eDEX-UI.Linux.x86_64.AppImage
cat > $DIR/customiso/airootfs/usr/share/applications/eDEX-UI.desktop <<- EOF
[Desktop Entry]
Name=eDEX-UI
Comment=eDEX-UI sci-fi interface
Exec="/opt/eDEX-UI.Linux.x86_64.AppImage"
Terminal=false
Type=Application
Icon=edex-ui
StartupWMClass=eDEX-UI
Categories=System;
EOF
echo
echo -e $Y" [*] eDEX-UI Added. "$C
echo
fi
echo
echo -e $Y" [*] Making owner ROOT to avoid problems with false permissions."$C
sudo chown -R root:root $DIR/customiso/
echo
echo -e $Y" [*] Cleaning Up... "$C
cd $DIR/pkgs
rm -rf $PR1 $PR2 $PR3 $PR4 $PR5 $PR6 $PR7 $PR8 $PR9 $PR10 $PR11
echo
echo -e $R" [*] Setup Completed."
echo
exit