diff --git a/citrine.internal.sh b/citrine.internal.sh index 3ced522..9d89edb 100755 --- a/citrine.internal.sh +++ b/citrine.internal.sh @@ -19,10 +19,10 @@ if [[ "$EUID" != "0" ]]; then exit 1 fi -inf "Checking pacman keyrings" -pacman-key --init -pacman-key --populate archlinux -pacman-key --populate crystal +#inf "Checking pacman keyrings" +#pacman-key --init +#pacman-key --populate archlinux +#pacman-key --populate crystal prompt "Do you need a keyboard layout other than standard US? (y/N)" KBD="$response" @@ -160,21 +160,36 @@ else done fi +prompt "Init system (one of: 'openrc', 'runit', 's6', '66')" +INIT="$response" + inf "Setting up base Crystal System" -crystalstrap /mnt base linux linux-firmware networkmanager grub crystal-grub-theme man-db man-pages texinfo nano sudo curl archlinux-keyring neofetch +basestrap /mnt base base-devel linux linux-firmware dhcpcd wpa_supplicant grub os-prober man-db man-pages texinfo nano sudo curl neofetch #crystal-grub-theme + +if [[ "$INIT" == "openrc" ]]; then + basestrap /mnt openrc elogind-openrc +elif [[ "$INIT" == "runit" ]]; then + basestrap /mnt runit elogind-runit +elif [[ "$INIT" == "s6" ]]; then + basestrap /mnt s6-base elogind-s6 +elif [[ "$INIT" == "66" ]]; then + basestrap /mnt 66 elogind-66 +else + err "No such init: $INIT" + exit 1 +fi + +echo "${INIT}" > /mnt/initsys + if [[ "$EFI" == "yes" ]]; then inf "Installing EFI support package" - crystalstrap /mnt efibootmgr + basestrap /mnt efibootmgr fi -# Grub theme -sed -i 's/\/path\/to\/gfxtheme/\/usr\/share\/grub\/themes\/crystal\/theme.txt/g' /mnt/etc/default/grub -sed -i 's/#GRUB_THEME/GRUB_THEME/g' /mnt/etc/default/grub - cp /usr/bin/continue.sh /mnt/. chmod +x /mnt/continue.sh -genfstab -U /mnt >> /mnt/etc/fstab +fstabgen -U /mnt >> /mnt/etc/fstab if [[ "$KBD" == "y" || "$KBD" == "Y" ]]; then echo ${KMP} >> /mnt/keymap @@ -186,7 +201,7 @@ else echo ${DISK} > /mnt/diskn fi -arch-chroot /mnt /continue.sh 2>&1 | tee /mnt/var/citrine.chroot.log +artix-chroot /mnt /continue.sh 2>&1 | tee /mnt/var/citrine.chroot.log rm /mnt/continue.sh inf "Installation should now be complete." diff --git a/continue.sh b/continue.sh index 13540b4..9b0bc2a 100755 --- a/continue.sh +++ b/continue.sh @@ -28,7 +28,8 @@ inf "Syncing hardware offset" hwclock --systohc echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen -echo "LANG=en_US.UTF-8" > /etc/locale.conf +echo "export LANG=\"en_US.UTF-8\"" > /etc/locale.conf +echo "exprot LC_COLLATE=\"C\"" >> /etc/locale.conf clear prompt "Do you need more locales than just en_US? (y/N)" @@ -78,6 +79,30 @@ if [[ "$IPS" == "y" || "$IPS" == "Y" ]]; then fi echo "127.0.1.1 ${HOSTNAME}.localdomain ${HOSTNAME}" >> /etc/hosts +INIT=$(cat /initsys) +rm /initsys + +if [[ "$INIT" == "openrc" ]]; then + echo "hostname='${HOSTNAME}'" > /etc/conf.d/hostname +fi + +inf "Installing connman" +pacman -S connman-${INIT} connman-gtk + +if [[ "$INIT" == "openrc" ]]; then + rc-update add connmand +elif [[ "$INIT" == "runit" ]]; then + ln -s /etc/runit/sv/connmand /etc/runit/runsvdir/default +elif [[ "$INIT" == "s6" ]]; then + s6-rc-bundle-update -c /etc/s6/rc/compiled add default connmand +elif [[ "$INIT" == "66" ]]; then + 66-tree -ncE default + 66-enable -t default connmand +else + err "No such init: ${INIT}" + exit 1 +fi + clear inf "Password for root" done="nope" @@ -111,17 +136,11 @@ if [[ -f /efimode ]]; then else DISK=$(cat /diskn) rm /diskn - grub-install ${DISK} + grub-install --recheck ${DISK} fi grub-mkconfig -o /boot/grub/grub.cfg -systemctl enable NetworkManager - -pacman-key --init -pacman-key --populate archlinux -pacman-key --populate crystal - clear prompt "Would you like to install a DE/WM profile? (y/N)" @@ -211,19 +230,27 @@ if [[ "$DEP" == "y" || "$DEP" == "Y" ]]; then if [[ "$ND" != "" ]]; then inf "Ok, we'll install $ND" DM="$ND" - pacman -Sy --quiet --noconfirm $DM + pacman -Sy --quiet --noconfirm $DM-${INIT} else inf "Ok, not installing a display manager." fi else - pacman -Sy --quiet --noconfirm $DM + pacman -Sy --quiet --noconfirm $DM-${INIT} fi if [[ "$DM" != "" ]]; then prompt "Would you like to enable ${DM} for ${DE}? (Y/n)" useDM="$response" if [[ "$useDM" != "n" ]]; then - systemctl enable ${DM} + if [[ "$INIT" == "openrc" ]]; then + rc-update add $DM + elif [[ "$INIT" == "runit" ]]; then + ln -s /etc/runit/sv/$DM /etc/runit/runsvdir/default + elif [[ "$INIT" == "s6" ]]; then + s6-rc-bundle-update -c /etc/s6/rc/compiled add default $DM + elif [[ "$INIT" == "66" ]]; then + 66-enable -t default $DM + fi if [[ "$DE" == "Deepin" ]]; then sed -i 's/lightdm-gtk-greeter/lightdm-deepin-greeter/g' /etc/lightdm/lightdm.conf fi @@ -252,3 +279,7 @@ if [[ "$MP" != "n" ]]; then fi inf "Installation complete" + +if [[ "$INIT" == "66" ]]; then + err "Make sure to read https://wiki.artixlinux.org/Main/Installation at the very bottom for 66-specific post-install" +fi \ No newline at end of file