|
|
@ -14,10 +14,30 @@ prompt() {
|
|
|
|
read response
|
|
|
|
read response
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ---------------------------------
|
|
|
|
|
|
|
|
yn=""
|
|
|
|
|
|
|
|
yesno() {
|
|
|
|
|
|
|
|
dialog --title Citrine --yesno "$@" 10 80
|
|
|
|
|
|
|
|
yn="$?"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dumptitle=""
|
|
|
|
|
|
|
|
dump() {
|
|
|
|
|
|
|
|
dialog --title $dumptitle --no-collapse --msgbox "$@" 0 0
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msgdat=""
|
|
|
|
|
|
|
|
msgbox(){
|
|
|
|
|
|
|
|
dialog --title Citrine --inputbox "$@" 10 80 2>tmp
|
|
|
|
|
|
|
|
msgdat=$(cat tmp)
|
|
|
|
|
|
|
|
rm tmp
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
# --------------------------
|
|
|
|
|
|
|
|
|
|
|
|
clear
|
|
|
|
clear
|
|
|
|
TZ="/usr/share/LMAO/XD"
|
|
|
|
TZ="/usr/share/LMAO/XD"
|
|
|
|
while [[ ! -f $TZ ]]; do
|
|
|
|
while [[ ! -f $TZ ]]; do
|
|
|
|
prompt "Pick a time zone (Format: America/New_York , Europe/London, etc)"
|
|
|
|
msgbox "Pick a time zone (Format: America/New_York , Europe/London, etc)"
|
|
|
|
PT="$response"
|
|
|
|
PT="$response"
|
|
|
|
TZ="/usr/share/zoneinfo/${PT}"
|
|
|
|
TZ="/usr/share/zoneinfo/${PT}"
|
|
|
|
done
|
|
|
|
done
|
|
|
@ -31,21 +51,21 @@ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
|
|
|
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
|
|
|
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
|
|
|
|
|
|
|
|
|
|
|
clear
|
|
|
|
clear
|
|
|
|
prompt "Do you need more locales than just en_US? (y/N)"
|
|
|
|
yesno "Do you need more locales than just en_US?"
|
|
|
|
echo "MORE=$response"
|
|
|
|
echo "MORE=$yn"
|
|
|
|
MORE="$response"
|
|
|
|
MORE="$yn"
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "$MORE" == "y" || "$MORE" == "Y" ]]; then
|
|
|
|
if [[ "$MORE" == "0" ]]; then
|
|
|
|
prompt "Preferred editor"
|
|
|
|
msgbox "Preferred editor"
|
|
|
|
PGRM="$response"
|
|
|
|
PGRM="$msgdat"
|
|
|
|
echo "PGRM=$response"
|
|
|
|
echo "PGRM=$msgdat"
|
|
|
|
if [[ -x "$(command -v ${PGRM})" ]]; then
|
|
|
|
if [[ -x "$(command -v ${PGRM})" ]]; then
|
|
|
|
inf "Attempting to install ${PGRM}"
|
|
|
|
inf "Attempting to install ${PGRM}"
|
|
|
|
pacman -Sy ${PGRM} --noconfirm
|
|
|
|
pacman -Sy ${PGRM} --noconfirm
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
inf "When we open the file, please remove the leading # before any locales you need."
|
|
|
|
dumptitle="Read carefully."
|
|
|
|
inf "Then, save and exit.\nPress enter."
|
|
|
|
dump "When we open the file, please remove the leading # before any locales you need.\
|
|
|
|
read
|
|
|
|
Then, save and exit."
|
|
|
|
${PGRM} /etc/locale.gen
|
|
|
|
${PGRM} /etc/locale.gen
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
@ -67,19 +87,21 @@ if [[ -f /keymap ]]; then
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
clear
|
|
|
|
clear
|
|
|
|
prompt "System hostname"
|
|
|
|
msgbox "Enter the system hostname"
|
|
|
|
HOSTNAME="$response"
|
|
|
|
HOSTNAME="$msgdat"
|
|
|
|
echo ${HOSTNAME} > /etc/hostname
|
|
|
|
echo ${HOSTNAME} > /etc/hostname
|
|
|
|
echo "127.0.0.1 localhost" > /etc/hosts
|
|
|
|
echo "127.0.0.1 localhost" > /etc/hosts
|
|
|
|
prompt "Would you like IPV6? (y/N)"
|
|
|
|
|
|
|
|
IPS="$response"
|
|
|
|
yesno "Would you like IPV6?"
|
|
|
|
if [[ "$IPS" == "y" || "$IPS" == "Y" ]]; then
|
|
|
|
IPS="$yn"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "$IPS" == "0" ]]; then
|
|
|
|
echo "::1 localhost" >> /etc/hosts
|
|
|
|
echo "::1 localhost" >> /etc/hosts
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
echo "127.0.1.1 ${HOSTNAME}.localdomain ${HOSTNAME}" >> /etc/hosts
|
|
|
|
echo "127.0.1.1 ${HOSTNAME}.localdomain ${HOSTNAME}" >> /etc/hosts
|
|
|
|
|
|
|
|
|
|
|
|
clear
|
|
|
|
clear
|
|
|
|
inf "Password for root"
|
|
|
|
inf "Set a password for root"
|
|
|
|
done="nope"
|
|
|
|
done="nope"
|
|
|
|
while [[ "$done" == "nope" ]]; do
|
|
|
|
while [[ "$done" == "nope" ]]; do
|
|
|
|
passwd
|
|
|
|
passwd
|
|
|
@ -88,8 +110,8 @@ while [[ "$done" == "nope" ]]; do
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
prompt "Your username"
|
|
|
|
msgbox "Your username"
|
|
|
|
UN="$response"
|
|
|
|
UN="$msgdat"
|
|
|
|
useradd -m ${UN}
|
|
|
|
useradd -m ${UN}
|
|
|
|
usermod -aG wheel ${UN}
|
|
|
|
usermod -aG wheel ${UN}
|
|
|
|
inf "Set password for ${UN}"
|
|
|
|
inf "Set password for ${UN}"
|
|
|
@ -124,34 +146,33 @@ pacman-key --populate crystal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clear
|
|
|
|
clear
|
|
|
|
prompt "Would you like to install a DE/WM profile? (y/N)"
|
|
|
|
|
|
|
|
echo "DEP=$response"
|
|
|
|
yesno "Would you like to install a DE/WM profile?"
|
|
|
|
DEP="$response"
|
|
|
|
|
|
|
|
|
|
|
|
echo "DEP=$yn"
|
|
|
|
if [[ "$DEP" == "y" || "$DEP" == "Y" ]]; then
|
|
|
|
DEP="$yn"
|
|
|
|
inf "--- Desktop Environments ---"
|
|
|
|
|
|
|
|
inf "- Budgie"
|
|
|
|
if [[ "$DEP" == "0" ]]; then
|
|
|
|
inf "- Cinnamon"
|
|
|
|
|
|
|
|
inf "- Deepin"
|
|
|
|
dumptitle="Desktop/WM Choices"
|
|
|
|
inf "- Enlightenment (note: very DIY. Read Arch Wiki)"
|
|
|
|
|
|
|
|
inf "- GNOME"
|
|
|
|
dump "\
|
|
|
|
# Flashback seems to need some work
|
|
|
|
--- Desktop Environments ---
|
|
|
|
#inf "- (GNOME) Flashback"
|
|
|
|
- Budgie
|
|
|
|
inf "- KDE"
|
|
|
|
- Cinnamon
|
|
|
|
inf "- LXDE"
|
|
|
|
- Deepin
|
|
|
|
inf "- LXQt"
|
|
|
|
- GNOME
|
|
|
|
inf "- Mate"
|
|
|
|
- KDE
|
|
|
|
inf "- Cutefish"
|
|
|
|
- LXDE
|
|
|
|
inf "- Xfce"
|
|
|
|
- LXQt
|
|
|
|
inf "- UKUI (note: very poorly documented. In english, anyway)"
|
|
|
|
- Mate
|
|
|
|
inf "--- Window Managers ---"
|
|
|
|
- Xfce"
|
|
|
|
inf "- i3"
|
|
|
|
|
|
|
|
inf "(We'll add more as people ask)"
|
|
|
|
msgbox "DE Choice (please enter exactly)"
|
|
|
|
inf "Please enter exactly as shown."
|
|
|
|
echo "DE=$msgdat"
|
|
|
|
prompt ""
|
|
|
|
DE="$msgdat"
|
|
|
|
echo "DE=$response"
|
|
|
|
|
|
|
|
DE="$response"
|
|
|
|
|
|
|
|
DM=""
|
|
|
|
DM=""
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "$DE" == "Budgie" ]]; then
|
|
|
|
if [[ "$DE" == "Budgie" ]]; then
|
|
|
|
pacman -Sy --quiet --noconfirm budgie-desktop gnome
|
|
|
|
pacman -Sy --quiet --noconfirm budgie-desktop gnome
|
|
|
|
DM="gdm"
|
|
|
|
DM="gdm"
|
|
|
@ -161,15 +182,9 @@ if [[ "$DEP" == "y" || "$DEP" == "Y" ]]; then
|
|
|
|
elif [[ "$DE" == "Deepin" ]]; then
|
|
|
|
elif [[ "$DE" == "Deepin" ]]; then
|
|
|
|
pacman -Sy --quiet --noconfirm deepin deepin-extra
|
|
|
|
pacman -Sy --quiet --noconfirm deepin deepin-extra
|
|
|
|
DM="lightdm"
|
|
|
|
DM="lightdm"
|
|
|
|
elif [[ "$DE" == "Enlightenment" ]]; then
|
|
|
|
|
|
|
|
pacman -Sy --quiet --noconfirm enlightenment terminology
|
|
|
|
|
|
|
|
elif [[ "$DE" == "GNOME" ]]; then
|
|
|
|
elif [[ "$DE" == "GNOME" ]]; then
|
|
|
|
pacman -Sy --quiet --noconfirm gnome gnome-extra chrome-gnome-shell
|
|
|
|
pacman -Sy --quiet --noconfirm gnome gnome-extra chrome-gnome-shell
|
|
|
|
DM="gdm"
|
|
|
|
DM="gdm"
|
|
|
|
elif [[ "$DE" == "Flashback" || "$DE" == "GNOME Flashback" || "$DE" == "(GNOME) Flashback" ]]; then
|
|
|
|
|
|
|
|
DE="Flashback"
|
|
|
|
|
|
|
|
pacman -Sy --quiet --noconfirm gnome-flashback gnome-backgrounds gnome-control-center network-manger-applet gnome-applets sensors-applet
|
|
|
|
|
|
|
|
DM="gdm"
|
|
|
|
|
|
|
|
elif [[ "$DE" == "KDE" ]]; then
|
|
|
|
elif [[ "$DE" == "KDE" ]]; then
|
|
|
|
pacman -Sy --quiet --noconfirm plasma kde-applications sddm
|
|
|
|
pacman -Sy --quiet --noconfirm plasma kde-applications sddm
|
|
|
|
DM="sddm"
|
|
|
|
DM="sddm"
|
|
|
@ -182,47 +197,17 @@ if [[ "$DEP" == "y" || "$DEP" == "Y" ]]; then
|
|
|
|
elif [[ "$DE" == "Mate" ]]; then
|
|
|
|
elif [[ "$DE" == "Mate" ]]; then
|
|
|
|
pacman -Sy --quiet --noconfirm mate mate-extra mate-applet-dock mate-applet-streamer
|
|
|
|
pacman -Sy --quiet --noconfirm mate mate-extra mate-applet-dock mate-applet-streamer
|
|
|
|
DM="gdm"
|
|
|
|
DM="gdm"
|
|
|
|
elif [[ "$DE" == "UKUI" ]]; then
|
|
|
|
|
|
|
|
pacman -Sy --quiet --noconfirm ukui
|
|
|
|
|
|
|
|
elif [[ "$DE" == "Xfce" ]]; then
|
|
|
|
elif [[ "$DE" == "Xfce" ]]; then
|
|
|
|
pacman -Sy --quiet --noconfirm xfce4 xfce4-goodies
|
|
|
|
pacman -Sy --quiet --noconfirm xfce4 xfce4-goodies
|
|
|
|
DM="sddm"
|
|
|
|
DM="sddm"
|
|
|
|
elif [[ "$DE" == "Cutefish" || "$DE" == "cutefish" ]] ;then
|
|
|
|
elif [[ "$DE" == "Cutefish" || "$DE" == "cutefish" ]] ;then
|
|
|
|
pacman -Sy --quiet --noconfirm cutefish
|
|
|
|
pacman -Sy --quiet --noconfirm cutefish
|
|
|
|
DM="sddm"
|
|
|
|
DM="sddm"
|
|
|
|
# Start WM's
|
|
|
|
|
|
|
|
elif [[ "$DE" == "i3" ]]; then
|
|
|
|
|
|
|
|
inf "Choose either i3 or i3-gaps in below prompt. Rest of group is your preference"
|
|
|
|
|
|
|
|
inf "Press enter"
|
|
|
|
|
|
|
|
prompt ""
|
|
|
|
|
|
|
|
pacman -Sy i3 xorg-xinit xorg-server
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "$DM" == "" ]]; then
|
|
|
|
|
|
|
|
inf "Your selected DE/WM doesn't have a standard display manager. Enter one of the below names, or leave blank for none"
|
|
|
|
|
|
|
|
inf "- gdm"
|
|
|
|
|
|
|
|
inf "- sddm"
|
|
|
|
|
|
|
|
inf "- lightdm (you'll need a greeter package. See Arch Wiki)"
|
|
|
|
|
|
|
|
inf "- (you can type another Arch package name if you have one in mind)"
|
|
|
|
|
|
|
|
inf "- [blank] for none"
|
|
|
|
|
|
|
|
prompt ""
|
|
|
|
|
|
|
|
ND="$response"
|
|
|
|
|
|
|
|
echo "ND=$ND"
|
|
|
|
|
|
|
|
if [[ "$ND" != "" ]]; then
|
|
|
|
|
|
|
|
inf "Ok, we'll install $ND"
|
|
|
|
|
|
|
|
DM="$ND"
|
|
|
|
|
|
|
|
pacman -Sy --quiet --noconfirm $DM
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
inf "Ok, not installing a display manager."
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
pacman -Sy --quiet --noconfirm $DM
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "$DM" != "" ]]; then
|
|
|
|
if [[ "$DM" != "" ]]; then
|
|
|
|
prompt "Would you like to enable ${DM} for ${DE}? (Y/n)"
|
|
|
|
yesno "Would you like to enable ${DM} for ${DE}?"
|
|
|
|
useDM="$response"
|
|
|
|
useDM="$yn"
|
|
|
|
if [[ "$useDM" != "n" ]]; then
|
|
|
|
if [[ "$useDM" == "0" ]]; then
|
|
|
|
systemctl enable ${DM}
|
|
|
|
systemctl enable ${DM}
|
|
|
|
if [[ "$DE" == "Deepin" ]]; then
|
|
|
|
if [[ "$DE" == "Deepin" ]]; then
|
|
|
|
sed -i 's/lightdm-gtk-greeter/lightdm-deepin-greeter/g' /etc/lightdm/lightdm.conf
|
|
|
|
sed -i 's/lightdm-gtk-greeter/lightdm-deepin-greeter/g' /etc/lightdm/lightdm.conf
|
|
|
@ -231,19 +216,19 @@ if [[ "$DEP" == "y" || "$DEP" == "Y" ]]; then
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
prompt "Would you like to add more packages? (Y/n)"
|
|
|
|
yesno "Would you like to add more packages?"
|
|
|
|
MP="$response"
|
|
|
|
MP="$yn"
|
|
|
|
if [[ "$MP" != "n" ]]; then
|
|
|
|
if [[ "$MP" == "0" ]]; then
|
|
|
|
prompt "Would you like to use a URL to a package list? (Y/n)"
|
|
|
|
yesno "Would you like to use a URL to a package list?"
|
|
|
|
OL="$response"
|
|
|
|
OL="$yesno"
|
|
|
|
if [[ "$OL" == "n" ]]; then
|
|
|
|
if [[ "$OL" != "0" ]]; then
|
|
|
|
prompt "Write package names"
|
|
|
|
msgbox "Package names"
|
|
|
|
PKGNS="$response"
|
|
|
|
PKGNS="$msgdat"
|
|
|
|
inf "Installing: $PKGNS"
|
|
|
|
inf "Installing: $PKGNS"
|
|
|
|
ame -S ${PKGNS}
|
|
|
|
ame -S ${PKGNS}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
prompt "URL to package list"
|
|
|
|
msgbox "URL to package list"
|
|
|
|
SRC="$response"
|
|
|
|
SRC="$msgdat"
|
|
|
|
PKGS="$(curl ${SRC})"
|
|
|
|
PKGS="$(curl ${SRC})"
|
|
|
|
for PKG in PKGS; do
|
|
|
|
for PKG in PKGS; do
|
|
|
|
ame -S ${PKG}
|
|
|
|
ame -S ${PKG}
|
|
|
@ -251,4 +236,4 @@ if [[ "$MP" != "n" ]]; then
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
inf "Installation complete"
|
|
|
|
#inf "Installation complete"
|
|
|
|