TODO: check for Nvidia Optimus support - or make it happen somehow 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 overview of the installation process at the start overall progress indication (step x out of y) look into roxterm as an alternative terminal include arandr or something similar in fully featured desktop utils deal with the entropy thing that runs after rc.shutdown first run message in .xinitrc.d - auto-removes itself - displays README.txt on root dir of the 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 need some sort of notification handler? add a way to provide additional files to package selections replace package selections with these options: nvidia keep the old selections desktop full - install a well integrated set of desktop utilities and some nice extras packages pipewire pavucontrol 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 elogind xdg-utils dbus-elogind dbus-elogind-libs dbus-elogind-x11 -> some minesweeper clone network-manager-applet -> audio applet conky vlc lxterminal -> system monitor, file browser, image viewer, text editor, archive manager firefox gufw -> GUI package manager? GUI update manager? bash-completion post-install add ultimate.bashrc add backgrounds modify bashrc to auto-start X if not already running kick off scripts in .xinitrc.d from .xinitrc exec icewm-session from .xinitrc add to .xinitrc.d choose random background start pipewire, pipewire-pulse, wireplumber start conky start nm-applet, audio applet display README put README.txt with relevant information on root dir of F2FS partition symlink to /home/README.txt add a symlink ~/.local/bin/xterm that points to lxterminal configure icewm lite - install a small set of desktop utilities packages pipewire pulsemixer 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 elogind xdg-utils dbus-elogind dbus-elogind-libs dbus-elogind-x11 xterm htop xfe firefox post-install add ultimate.bashrc modify bashrc to auto-start X if not already running kick off scripts in .xinitrc.d from .xinitrc exec icewm (not session) from .xinitrc add to .xinitrc.d start pipewire, pipewire-pulse, wireplumber display README put README.txt with relevant information on root dir of F2FS partition symlink to /home/README.txt configure icewm none - leave the system as is no packages post-install add ultimate.bashrc modify bashrc to display README put README.txt with relevant information on root dir of F2FS partition symlink to /home/README.txt 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, 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