archbox/chroot_setup.bash
2020-12-28 19:15:21 +07:00

53 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
err(){
echo "$(tput bold)$(tput setaf 1)==> $@ $(tput sgr0)"
exit 1
}
msg(){
echo "$(tput bold)$(tput setaf 2)==> $@ $(tput sgr0)"
}
PATH=/usr/bin
msg "Initializing pacman keyrings..."
pacman-key --init
pacman-key --populate archlinux
msg "Installing essential packages..."
pacman -Syu base base-devel xorg pulseaudio nano --noconfirm
msg "Installing servicectl..."
mkdir -p /usr/local/share/servicectl/enabled
curl -L 'https://raw.githubusercontent.com/lemniskett/servicectl/master/servicectl' > /usr/local/share/servicectl/servicectl 2>/dev/null
curl -L 'https://raw.githubusercontent.com/lemniskett/servicectl/master/serviced' > /usr/local/share/servicectl/serviced 2>/dev/null
chmod +x /usr/local/share/servicectl/service{d,ctl}
ln -s /usr/local/share/servicectl/servicectl /usr/local/bin/servicectl
ln -s /usr/local/share/servicectl/serviced /usr/local/bin/serviced
msg "Setting up locale..."
echo "Uncomment needed locale, enter to continue"
read
nano /etc/locale.gen
locale-gen
msg "Setting up timezone..."
echo "Enter your timezone, for example : \"Asia/Jakarta\""
while true; do
read TIMEZONE \
&& [[ -e /usr/share/zoneinfo/$TIMEZONE ]] \
&& ln -s /usr/share/zoneinfo/$TIMEZONE /etc/localtime \
&& break \
|| echo "Timezone not found, enter it again."
done
msg "Creating user account..."
CHROOT_USER="$(cat /tmp/archbox_user)"
useradd -m $CHROOT_USER
gpasswd -a $CHROOT_USER wheel
echo "Enter root password"
while true; do
passwd && break
done
echo "Enter $CHROOT_USER password"
while true; do
passwd $CHROOT_USER && break
done
sed -i 's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
echo "Don't forget to run '/usr/local/share/archbox/bin/archboxinit start' in host on boot"