Compare commits
3 Commits
d7629049d6
...
782cabf545
Author | SHA1 | Date |
---|---|---|
BodgeMaster | 782cabf545 | |
BodgeMaster | 6b620664df | |
BodgeMaster | c4441aab07 |
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
LOGFILE=/tmp/void-usb-install-log
|
LOGFILE=/tmp/void-usb-install-log
|
||||||
|
GIT_REPO_BASE="https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master"
|
||||||
|
|
||||||
function press_any_key {
|
function press_any_key {
|
||||||
echo "Press any key to continue or Ctrl+c to abort..."
|
echo "Press any key to continue or Ctrl+c to abort..."
|
||||||
|
@ -213,6 +214,7 @@ mkdir -p /mnt/target/var/db/xbps/keys >> $LOGFILE 2>&1
|
||||||
cp /var/db/xbps/keys/* /mnt/target/var/db/xbps/keys/ >> $LOGFILE 2>&1
|
cp /var/db/xbps/keys/* /mnt/target/var/db/xbps/keys/ >> $LOGFILE 2>&1
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
|
clear
|
||||||
echo "The next step is installing packages for base system components.
|
echo "The next step is installing packages for base system components.
|
||||||
Depending on your internet connection, your USB stick, and the phase of the moon, this may take a while.
|
Depending on your internet connection, your USB stick, and the phase of the moon, this may take a while.
|
||||||
The XBPS log will be displayed for this step.
|
The XBPS log will be displayed for this step.
|
||||||
|
@ -247,20 +249,20 @@ omit_dracutmodules+=" nvdimm resume "' > /mnt/target/etc/dracut.conf.d/99-void-u
|
||||||
echo -n "Adding dracut module void-usb... "
|
echo -n "Adding dracut module void-usb... "
|
||||||
mkdir -p /mnt/target/lib/dracut/modules.d/90void-usb >> $LOGFILE 2>&1
|
mkdir -p /mnt/target/lib/dracut/modules.d/90void-usb >> $LOGFILE 2>&1
|
||||||
chmod 755 /mnt/target/lib/dracut/modules.d/90void-usb >> $LOGFILE 2>&1
|
chmod 755 /mnt/target/lib/dracut/modules.d/90void-usb >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/module-setup.sh https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/dracut-modules/90void-usb/module-setup.sh >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/module-setup.sh "$GIT_REPO_BASE/dracut-modules/90void-usb/module-setup.sh" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/module-setup.sh >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/module-setup.sh >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/create-loop0.sh https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/dracut-modules/90void-usb/create-loop0.sh >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/create-loop0.sh "$GIT_REPO_BASE/dracut-modules/90void-usb/create-loop0.sh" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/create-loop0.sh >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/create-loop0.sh >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/squashfs-img.sh https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/dracut-modules/90void-usb/squashfs-img.sh >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/squashfs-img.sh "$GIT_REPO_BASE/dracut-modules/90void-usb/squashfs-img.sh" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/squashfs-img.sh >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/squashfs-img.sh >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/overlay.sh https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/dracut-modules/90void-usb/overlay.sh >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/lib/dracut/modules.d/90void-usb/overlay.sh "$GIT_REPO_BASE/dracut-modules/90void-usb/overlay.sh" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/overlay.sh >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/lib/dracut/modules.d/90void-usb/overlay.sh >> $LOGFILE 2>&1
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
echo -n "Adding file system helper... "
|
echo -n "Adding file system helper... "
|
||||||
mkdir -p /mnt/target/opt/void-usb >> $LOGFILE 2>&1
|
mkdir -p /mnt/target/opt/void-usb >> $LOGFILE 2>&1
|
||||||
chmod 755 /mnt/target/opt/void-usb >> $LOGFILE 2>&1
|
chmod 755 /mnt/target/opt/void-usb >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/opt/void-usb/backup-fs https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/opt/backup-fs >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/opt/void-usb/backup-fs "$GIT_REPO_BASE/opt/backup-fs" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/opt/void-usb/backup-fs >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/opt/void-usb/backup-fs >> $LOGFILE 2>&1
|
||||||
echo "
|
echo "
|
||||||
/opt/void-usb/backup-fs" >> /mnt/target/etc/rc.shutdown
|
/opt/void-usb/backup-fs" >> /mnt/target/etc/rc.shutdown
|
||||||
|
@ -369,16 +371,16 @@ run_in_target grub-install --target=x86_64-efi --boot-directory=/boot/efi/LOADER
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
echo -n "Adding grub-config helper... "
|
echo -n "Adding grub-config helper... "
|
||||||
wget --output-document=/mnt/target/opt/void-usb/grub-config https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/opt/grub-config >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/opt/void-usb/grub-config "$GIT_REPO_BASE/opt/grub-config" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/opt/void-usb/grub-config >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/opt/void-usb/grub-config >> $LOGFILE 2>&1
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
echo -n "Adding kernel hooks... "
|
echo -n "Adding kernel hooks... "
|
||||||
wget --output-document=/mnt/target/etc/kernel.d/pre-install/99-void-usb https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/kernel.d/pre-install/99-void-usb >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/etc/kernel.d/pre-install/99-void-usb "$GIT_REPO_BASE/kernel.d/pre-install/99-void-usb" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/etc/kernel.d/pre-install/99-void-usb >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/etc/kernel.d/pre-install/99-void-usb >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/etc/kernel.d/post-install/99-void-usb https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/kernel.d/post-install/99-void-usb >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/etc/kernel.d/post-install/99-void-usb "$GIT_REPO_BASE/kernel.d/post-install/99-void-usb" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/etc/kernel.d/post-install/99-void-usb >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/etc/kernel.d/post-install/99-void-usb >> $LOGFILE 2>&1
|
||||||
wget --output-document=/mnt/target/etc/kernel.d/post-remove/99-void-usb https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/kernel.d/post-remove/99-void-usb >> $LOGFILE 2>&1
|
wget --output-document=/mnt/target/etc/kernel.d/post-remove/99-void-usb "$GIT_REPO_BASE/kernel.d/post-remove/99-void-usb" >> $LOGFILE 2>&1
|
||||||
chmod 744 /mnt/target/etc/kernel.d/post-remove/99-void-usb >> $LOGFILE 2>&1
|
chmod 744 /mnt/target/etc/kernel.d/post-remove/99-void-usb >> $LOGFILE 2>&1
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
|
@ -387,14 +389,29 @@ run_in_target xbps-reconfigure -fa >> $LOGFILE 2>&1
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
echo -n "Adding stage 2 installer... "
|
echo -n "Adding stage 2 installer... "
|
||||||
wget --output-document=/mnt/target/install-stage2.sh https://lostcave.ddnss.de/git/BodgeMaster/void-minecraft-usb/raw/branch/master/install-stage2.sh >> $LOGFILE 2>&1
|
|
||||||
chmod 744 /mnt/target/install-stage2.sh >> $LOGFILE 2>&1
|
STAGE2_DIR="/mnt/target/opt/void-usb/installer"
|
||||||
echo "menuentry 'Continue Void-USB Installation' {
|
function get_stage2_file {
|
||||||
echo 'Loading Linux...'
|
[ -d "$STAGE2_DIR/$(dirname $1)" ] || mkdir -p "$STAGE2_DIR/$(dirname $1)"
|
||||||
linux $(run_in_target find /boot -type l -name "vmlinu*") quiet root=/dev/loop0 ro void-usb-container=UUID=$(lsblk --raw --noheadings --output UUID "$TARGET_PART_BIG") init=/install-stage2.sh
|
wget --output-document="$STAGE2_DIR/$1" "$GIT_REPO_BASE/$1" >> $LOGFILE 2>&1
|
||||||
echo 'Loading initial ramdisk...'
|
}
|
||||||
initrd $(run_in_target find /boot -type l -name "init*")
|
|
||||||
}" >> /mnt/target/boot/efi/LOADER/grub/custom_before.cfg
|
get_stage2_file install-stage2.sh >> $LOGFILE 2>&1
|
||||||
|
chmod 744 "$STAGE2_DIR/install-stage2.sh" >> $LOGFILE 2>&1
|
||||||
|
|
||||||
|
get_stage2_file package_selections/sections.lst
|
||||||
|
readarray -t SECTIONS < "$STAGE2_DIR/package_selections/sections.lst"
|
||||||
|
for I in ${!SECTIONS[@]}; do
|
||||||
|
get_stage2_file "package_selections/${SECTIONS[$I]}/description.txt"
|
||||||
|
|
||||||
|
get_stage2_file "package_selections/${SECTIONS[$I]}/options.lst"
|
||||||
|
readarray -t OPTIONS < "$STAGE2_DIR/package_selections/${SECTIONS[$I]}/options.lst"
|
||||||
|
for J in ${!OPTIONS[@]}; do
|
||||||
|
get_stage2_file "package_selections/${SECTIONS[$I]}/${OPTIONS[$J]}"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
#TODO: auto-login root and run install stage 2
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
echo "Creating system image..."
|
echo "Creating system image..."
|
||||||
|
|
|
@ -9,12 +9,20 @@ do not rely on the RTC
|
||||||
- only fall back to using rtc if offline
|
- only fall back to using rtc if offline
|
||||||
- do not set the RTC
|
- do not set the RTC
|
||||||
show user-friendly status instead of scrolling output from all sorts of tools
|
show user-friendly status instead of scrolling output from all sorts of tools
|
||||||
shutdown squashfs updater can’t get user input!?
|
|
||||||
make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes
|
make our own or extract (if feasible) kb selection and time zone selection to hijack them for our purposes
|
||||||
vkpurge old stuff - only keep 2 vkpurgeable kernels
|
vkpurge old stuff - only keep 2 vkpurgeable kernels
|
||||||
- should probably not be done in a kernel hook
|
- change kernel pre-install hook
|
||||||
overview of the installation process at the start
|
overview of the installation process at the start
|
||||||
overall progress indication (step x out of y)
|
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
|
||||||
|
test that OpenBox is actually lighter than IceWM - or replace it with something that is
|
||||||
|
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
|
||||||
|
|
||||||
musl downsides:
|
musl downsides:
|
||||||
- no nvidia drivers
|
- no nvidia drivers
|
||||||
|
@ -23,17 +31,11 @@ musl upsides:
|
||||||
- ??
|
- ??
|
||||||
|
|
||||||
Stage 1:
|
Stage 1:
|
||||||
- select kb layout
|
-> select kb layout
|
||||||
- install base system
|
|
||||||
-> select installation type (x86_32/x86_64/aarch64, glibc/musl)
|
-> select installation type (x86_32/x86_64/aarch64, glibc/musl)
|
||||||
-> if musl, add that bit to repo url
|
|
||||||
-> configure time zone
|
-> configure time zone
|
||||||
-> selection dialog?
|
-> selection dialog?
|
||||||
-> symlink /etc/localtime
|
-> symlink /etc/localtime
|
||||||
-> prepare 2nd stage installation
|
|
||||||
-> auto login root and put stage 2 script in .bashrc
|
|
||||||
-> build squashfs
|
|
||||||
- prompt user to reboot to finish installation
|
|
||||||
|
|
||||||
Stage 2:
|
Stage 2:
|
||||||
-> configure services
|
-> configure services
|
||||||
|
@ -42,23 +44,9 @@ Stage 2:
|
||||||
-> acpid
|
-> acpid
|
||||||
-> ask user to connect to network using nmtui
|
-> ask user to connect to network using nmtui
|
||||||
-> install packages
|
-> 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
|
-> go through the list of choices for what the user can install
|
||||||
-> terminal?
|
-> Minimum viable Xorg setup: 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
|
||||||
-> browser?
|
-> don’t ask the user if there is only one option
|
||||||
-> prism launcher
|
|
||||||
-> java (multiple versions?)
|
|
||||||
-> pipewire (pulsemixer?)
|
|
||||||
-> ask about nvidia driver
|
|
||||||
-> install if needed
|
|
||||||
-> find out when and where to set `nvidia-drm.modeset=1`
|
|
||||||
-> 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
|
-> passwd -l root
|
||||||
-> populate /etc/skel
|
-> populate /etc/skel
|
||||||
-> ultimate bashrc bc why not
|
-> ultimate bashrc bc why not
|
||||||
|
@ -77,3 +65,4 @@ Stage 2:
|
||||||
-> add to groups
|
-> add to groups
|
||||||
-> including sudo group
|
-> including sudo group
|
||||||
-> build new squashfs image and reboot
|
-> build new squashfs image and reboot
|
||||||
|
-> rm -r /opt/void-usb/installer
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Package Selections
|
||||||
|
|
||||||
|
These are intended to give the user a bunch of choices when installing the
|
||||||
|
system. For example whether to use XFE or a more fully featured set of applications.
|
||||||
|
|
||||||
|
## Sections
|
||||||
|
|
||||||
|
Sections contain choices of a specific category. The sections are stored in
|
||||||
|
folders containing the section’s description and its options.
|
||||||
|
For each section, only one of the options can be chosen.
|
||||||
|
The file `sections.lst` holds a list of all available sections in the order
|
||||||
|
in which the user will be asked about them.
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
Options are shell scripts that are sourced by the stage 2 installer.
|
||||||
|
They hold variables for description, package list, pre-install checks,
|
||||||
|
and additional post-install actions.
|
||||||
|
Options are shown in the order in which they appear in `options.lst`.
|
|
@ -0,0 +1 @@
|
||||||
|
Choose which audio packages to install
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="No audio"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "audio/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
pipewire
|
||||||
|
pipewire-slim
|
||||||
|
none
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Pipewire with GUI settings (Pavucontrol)"
|
||||||
|
|
||||||
|
PACKAGES="pipewire pavucontrol"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "audio/pipewire" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Pipewire with text-based settings (pulsemixer)"
|
||||||
|
|
||||||
|
PACKAGES="pipewire pulsemixer"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "audio/pipewire-slim" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Choose a desktop setup to install
|
|
@ -0,0 +1,12 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="BodgeMaster’s IceWM setup (recommended)"
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "desktop/icewm-fancy" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Lighter IceWM setup"
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "desktop/icewm-light" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="No desktop - for advanced users that want to set things up themselves"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "desktop/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: more information for the user
|
||||||
|
DESCRIPTION="OpenBox window manager (even more lightweight???)"
|
||||||
|
|
||||||
|
# TODO also add xclock
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "desktop/openbox" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
icewm-fancy
|
||||||
|
icewm-light
|
||||||
|
openbox
|
||||||
|
none
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="All of the above"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
# TODO: configure desktop backgounds if using IceWM
|
||||||
|
echo "extras/all" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="All of the above except Minecraft"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
# TODO: configure desktop backgounds if using IceWM
|
||||||
|
echo "extras/all-no-minecraft" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Choose some extras to install
|
|
@ -0,0 +1,16 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/icewm" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Add some desktop backgrounds and randomly choose one on login"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
# TODO: configure
|
||||||
|
echo "extras/desktop-backgrounds" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Prism Launcher for Minecraft"
|
||||||
|
|
||||||
|
#TODO: Java stuff
|
||||||
|
PACKAGES="PrismLauncher"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "extras/minecraft" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
DESCRIPTION="??? (Minesweeper)"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "extras/minesweeper" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="None"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "extras/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
desktop-backgrounds
|
||||||
|
minesweeper
|
||||||
|
snake
|
||||||
|
minecraft
|
||||||
|
all-no-minecraft
|
||||||
|
all
|
||||||
|
none
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
DESCRIPTION="nSnake"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES="nSnake"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "extras/snake" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Install a media player?
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="No"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "multimedia/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
vlc
|
||||||
|
none
|
|
@ -0,0 +1,16 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Install VLC"
|
||||||
|
|
||||||
|
#TODO: fluidsynth MIDI stuff
|
||||||
|
PACKAGES="vlc"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "multimedia/vlc" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
Do you want to install the proprietary Nvidia driver?
|
||||||
|
|
||||||
|
By default, Void Linux ships with the open-source nouveau driver.
|
||||||
|
This is nice because it gets the system up and running when using an
|
||||||
|
Nvidia GPU but, due to Nvidia’s secrecy, it isn’t particularly good.
|
||||||
|
|
||||||
|
Installing the proprietary driver is recommended if you want to use Nvidia GPUs.
|
||||||
|
|
||||||
|
Different versions are available. You can only choose one.
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Don’t install."
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "nvidia/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if xbps-query glibc >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Latest Nvidia driver, supports GTX ??? series and up"
|
||||||
|
|
||||||
|
#TODO: optimus support?
|
||||||
|
PACKAGES="nvidia"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
#TODO: nvidia modeset kernel parameter?
|
||||||
|
echo "nvidia/nvidia" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if xbps-query glibc >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Legacy Nvidia driver, version 390, supports GTX ??? series"
|
||||||
|
|
||||||
|
#TODO: Optimus support?
|
||||||
|
PACKAGES="nvidia390"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
#TODO: nvidia modeset kernel parameter?
|
||||||
|
echo "nvidia/nvidia390" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if xbps-query glibc >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Legacy Nvidia driver, version 470, supports GTX ??? series"
|
||||||
|
|
||||||
|
#TODO: optimus support?
|
||||||
|
PACKAGES="nvidia470"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
#TODO: nvidia modeset kernel parameter?
|
||||||
|
echo "nvidia/nvidia470" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
none
|
||||||
|
nvidia
|
||||||
|
nvidia470
|
||||||
|
nvidia390
|
|
@ -0,0 +1,13 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Only add custom bashrc (advanced users)"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
#TODO: configure things
|
||||||
|
|
||||||
|
echo "pre-configure/bashrc" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Do you want some quality-of-life configuration done?
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Auto-start GUI session on login and add custom bashrc (recommended)"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
#TODO: configure things
|
||||||
|
|
||||||
|
echo "pre-configure/gui-and-bashrc" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="No (advanced users)"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "pre-configure/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
gui-and-bashrc
|
||||||
|
bashrc
|
||||||
|
none
|
|
@ -0,0 +1,10 @@
|
||||||
|
nvidia
|
||||||
|
desktop
|
||||||
|
audio
|
||||||
|
systray
|
||||||
|
terminal
|
||||||
|
utilities
|
||||||
|
pre-configure
|
||||||
|
web
|
||||||
|
multimedia
|
||||||
|
extras
|
|
@ -0,0 +1 @@
|
||||||
|
Do you want to install system tray applets?
|
|
@ -0,0 +1,20 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/icewm" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
if grep "audio/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Add tray icon for network"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "systray/network" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/icewm" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
if grep "audio/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Add tray icon for network and audio"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "systray/network-and-audio" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Don’t install additional tray icons"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "systray/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
network-and-audio
|
||||||
|
network
|
||||||
|
none
|
|
@ -0,0 +1 @@
|
||||||
|
Which GUI terminal emulator do you want to install?
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="LXDE Terminal (recommended)"
|
||||||
|
|
||||||
|
PACKAGES="lxterminal"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "terminal/lxterminal" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="None (advanced users only)"
|
||||||
|
|
||||||
|
PACKAGES="none"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "terminal/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
lxterminal
|
||||||
|
xterm
|
||||||
|
none
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Xterm"
|
||||||
|
|
||||||
|
PACKAGES="xterm"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "terminal/xterm" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Which set of desktop utilities do you want to install?
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
DESCRIPTION="Fully featured (list of things) (recommended)"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "utilities/desktop-integrated-guisysmon" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
DESCRIPTION="Fully featured (list of things with htop)"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "utilities/desktop-integrated-htop" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="None"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "utilities/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
desktop-integrated-guisysmon
|
||||||
|
xfe-guisysmon
|
||||||
|
desktop-integrated-htop
|
||||||
|
xfe-htop
|
||||||
|
none
|
|
@ -0,0 +1,17 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
DESCRIPTION="Smaller set of desktop utilities (XFE + ???)"
|
||||||
|
|
||||||
|
#TODO
|
||||||
|
PACKAGES="xfe"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "utilities/xfe-guisysmon" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Smaller set of desktop utilities (XFE + Htop)"
|
||||||
|
|
||||||
|
PACKAGES="xfe htop"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "utilities/xfe-htop" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Install a web browser?
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Install ELinks (terminal-based browser)"
|
||||||
|
|
||||||
|
PACKAGES="elinks"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "web/elinks" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Join the dark side with Chromium (Consider Firefox... You can still install Chromium later.)"
|
||||||
|
|
||||||
|
PACKAGES="chromium"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "web/evil" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Install Firefox (recommended)"
|
||||||
|
|
||||||
|
PACKAGES="firefox"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "web/firefox" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
function check {
|
||||||
|
if grep "desktop/none" /tmp/stage-2-choices >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="Install Firefox - Extended Support Release (ESR)"
|
||||||
|
|
||||||
|
PACKAGES="firefox-esr"
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "web/firefox-esr" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
function check {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
DESCRIPTION="No web browser"
|
||||||
|
|
||||||
|
PACKAGES=""
|
||||||
|
|
||||||
|
function post-install {
|
||||||
|
echo "web/none" >> /tmp/stage-2-choices
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
firefox
|
||||||
|
firefox-esr
|
||||||
|
evil
|
||||||
|
elinks
|
||||||
|
none
|
Loading…
Reference in New Issue