TODO: compare sizes of glibc and musl installations need xdg menu maker? adjust required USB stick and RAM size in README do not rely on the RTC - change the message when configuring UTC/localtime to reflect that this is only for offline usage - use ntp to get time - only fall back to using rtc if offline - do not set the RTC make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes - potentially interesting packages - ckbcomp - kbd-data vkpurge old stuff - only keep 2 vkpurgeable kernels - change kernel pre-install hook overview of the installation process at the start overall progress indication (step x out of y) exclude optical drives add newline after yesno (also in backup script) add bash completion along the line somewhere replace OpenBox with something lighter allow unprivileged users to mount / unmount disks in GUI sessions look into roxterm as an alternative terminal add a zram swap option to package_selections include arandr or something similar in fully featured desktop utils deal with the entropy thing that runs after rc.shutdown add firewall option to package_selections first run message in xinitrc - auto-disables itself - displays README.txt on root dir of the F2FS partition put a README.txt on root dir of F2FS partition add online check to all the selections that need internet sort out /etc/resolv.conf for the chroot set keyboard layout for initramfs refer to creating a new system image as such instead of "backing up" need some sort of notification handler? when installing GUI also install elogind xdg-utils dbus-elogind dbus-elogind-libs dbus-elogind-x11 allow backgrounds only for icewm-fancy when pre-configuring desktop -> check if pipewire installed -> add pipewire, pipewire-pulse, wireplumber -> run IceWM directly if the lighter setup was selected musl downsides: - no nvidia drivers - may be janky in regards to running some Minecraft versions musl upsides: - ?? Stage 1: -> select kb layout -> select installation type (x86_32/x86_64/aarch64, glibc/musl) -> configure time zone -> selection dialog? -> symlink /etc/localtime Stage 2: -> set up user -> ask for username -> run useradd (non-interactively) -> useradd --groups "comma,separated,groups" --create-home --shell /bin/bash $USERNAME -> groups: dialout users wheel -> ?? groups: -> video - Can use GUI? Can use webcam? -> cdrom optical - can listen to CDs? Can watch DVDs? Can mount / unmount CDs/DVDs? -> storage - can mount / unmount disks from GUI? -> scanner - can scan things (for example using XSane?) -> network - can interface with NetworkManager? -> kvm - can run QEMU? -> run passwd (interactively) -> clean up -> mv /mnt/target/etc/sv/agetty-tty1/conf.bak /mnt/target/etc/sv/agetty-tty1/conf -> if [ -f /mnt/target/root/.profile.bak ]; then mv /mnt/target/root/.profile.bak /mnt/target/root/.profile; else rm /mnt/target/root/.profile; fi -> rm -r /opt/void-usb/installer -> build new squashfs image and reboot