compare sizes of glibc and musl installations try running multiple MC versions on musl need xdg menu maker? ideas: use shell script for init, call real init via exec system lives on squashfs -> overlayfs with tmpfs set up at boot -> new system image generated and written back on shutdown -> user-selectable ("Do you want to save changes to the system? This will take some time.") -> fstrim (if applicable) swap on zram f2fs for home tmpfs for package cache, /tmp, logs? Steps to install: - (user does this:) boot Void installer -> log in as root -> connect to the internet -> download and run install script - preparations: -> update xbps -> install xmirror -> make our own or extract kb selection, mirror selection, and time zone selection (if feasible) to hijack them for our purposes - warn user about formatting and making the USB stick unusable with Windows - select kb layout - set up disks -> select disk from a list -> wipe disk (new gpt) -> partition disk -> 270M ESP (if needed) or 2M BIOS GRUB -> partition that holds home and the squashfs image -> format partitions (use force option) -> ESP FAT32 -> rest F2FS - mount them things, set up tmpfs as / for now - install base system -> select mirror -> select installation type (x86_32/x86_64/aarch64, glibc/musl) -> install packages -> linux bash shadow f2fs-tools dosfstools dbus NetworkManager iana-etc iw wpa_supplicant util-linux which tar man-pages iproute2 iputils wifi-firmware traceroute grep gzip file sed gawk less coreutils findutils diffutils pciutils usbutils tzdata base-files ncurses mdocml procps-ng kbd xbps sudo ethtool kmod eudev runit-void removed-packages nano acpid -> configure XBPS (set mirror, anything else?) -> configure sudo -> drop a file with "%wheel ALL=(ALL:ALL) ALL" in /etc/sudoers.d/sudo_group -> configure overlayfs setup -> configure tmpfses -> configure /home (bind mount or symlink?) -> configure keymap (etc/rc.conf) -> configure shutdown squashfs updater -> rc.shutdown? -> configure and install bootloader -> determine BIOS or UEFI -> if UEFI, install as removable device -> xbps-reconfigure -fa -> prepare 2nd stage installation -> auto login root -> put script in .bashrc -> build squashfs -> (if needed) set up an initramfs with busybox to mount the squashfs/overlayfs at boot time - prompt user to reboot to finish installation - second stage installation -> configure services -> dbus -> NetworkManager -> acpid -> ask user to connect to network using nmtui -> set up timezone -> ask user which zone -> ask user whether to use UTC or local time -> configure (rc.conf and /etc/localtime) -> set hostname -> ask user -> configure -> install packages -> setxkbmap xauth xorg-video-drivers mesa mesa-dri xorg-server elogind xorg-input-drivers xrandr acpilight xhost xinit xrdb xinput xgamma xset iceauth sessreg transset xcmsdb xkbutils xmodmap dejavu-fonts-ttf -> ?? xorg-fonts pulsemixer PrismLauncher -> ask about nvidia driver -> install if needed -> ask whether to use CTWM or IceWM -> short description of up and downsides -> if CTWM, also install -> xclock -> if IceWM, also install -> network-manager-applet -> sound applet -> configure zram swap -> passwd -l root -> populate /etc/skel -> ultimate bashrc bc why not -> first run message in xinitrc -> auto-deletes itself -> displays README.txt on root dir of the F2FS partition -> if using CTWM -> put xclock in xinitrc -> configure more sane defaults -> prepend bashrc with a thing that checks of xorg is running -> if not, run startx and ask user whether to shut down, reboot, or do nothing afterwards -> set up user -> ask for username -> run useradd (non-interactively) -> run passwd (interactively) -> add to groups -> including sudo group -> build new squashfs image and reboot