-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathtopinstall.sh
More file actions
executable file
·97 lines (73 loc) · 2.08 KB
/
topinstall.sh
File metadata and controls
executable file
·97 lines (73 loc) · 2.08 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
#!/bin/bash
# install instantOS on top of an existing system
# this is currently not stable, tested or supported
# do not use (please)
# print logo
echo ""
echo ""
curl -s 'https://raw.githubusercontent.com/instantOS/instantLOGO/main/ascii.txt' | sed 's/^/ /g'
echo ""
echo ""
if ! whoami | grep -iq '^root'; then
echo "please run this as root"
exit
fi
if ! command -v imenu; then
curl -s https://raw.githubusercontent.com/instantOS/imenu/main/imenu.sh >/usr/local/bin/imenu
chmod 755 /usr/local/bin/imenu
fi
touch /tmp/climenu
# only runs on arch based distros
if ! grep -Eiq '(arch|manjaro)' /etc/os-release; then
echo "system does not appear to be arch based.
instantARCH only works on arch based systems like Arch and Manjaro
are you sure you want to run this?" | imenu -C || {
imenu -m "installation canceled"
exit
}
fi
touch /opt/topinstall
pacman -Sy --noconfirm
# todo: askmirrors
pacman -S git --noconfirm --needed
cd /root
[ -e instantARCH ] && rm -rf instantARCH
git clone --depth=1 https://github.com/instantos/instantARCH.git
cd instantARCH
chmod +x *.sh
chmod 755 ./*/*.sh
mkdir config
./depend/depend.sh
# do all actions requiring user input first
./topask.sh
if ! command -v mhwd && iroot automirror; then
pacman -S reflector --noconfirm --needed
echo "selecting fastest mirror"
reflector --latest 40 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist
pacman -Sy --noconfirm
fi
./init/init.sh
pacman -S --noconfirm --needed base \
linux linux-headers \
linux-lts linux-lts-headers \
linux-firmware
./depend/system.sh
./chroot/chroot.sh
./chroot/drivers.sh
./network/network.sh
./bootloader/config.sh
if ! ls /home/ | grep -q ..; then
./user/modify.sh
else
./user/user.sh
fi
./user/shell.sh
./lang/timezone.sh
./lang/locale.sh
./lang/xorg.sh
./instantos/install.sh
echo "finished installing instantOS"
imenu -c "a reboot is required. reboot now?" && touch /tmp/instantosreboot
rm /tmp/climenu
[ -e /usr/local/bin/imenu ] && rm /usr/local/bin/imenu
[ -e /tmp/instantosreboot ] && reboot