Compare commits
3 Commits
d7629049d6
...
782cabf545
Author | SHA1 | Date |
---|---|---|
BodgeMaster | 782cabf545 | |
BodgeMaster | 6b620664df | |
BodgeMaster | c4441aab07 |
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
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 {
|
||||
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
|
||||
echo "done"
|
||||
|
||||
clear
|
||||
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.
|
||||
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... "
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
echo "done"
|
||||
|
||||
echo -n "Adding file system helper... "
|
||||
mkdir -p /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
|
||||
echo "
|
||||
/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 -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
|
||||
echo "done"
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
echo "done"
|
||||
|
||||
|
@ -387,14 +389,29 @@ run_in_target xbps-reconfigure -fa >> $LOGFILE 2>&1
|
|||
echo "done"
|
||||
|
||||
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
|
||||
echo "menuentry 'Continue Void-USB Installation' {
|
||||
echo 'Loading Linux...'
|
||||
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
|
||||
echo 'Loading initial ramdisk...'
|
||||
initrd $(run_in_target find /boot -type l -name "init*")
|
||||
}" >> /mnt/target/boot/efi/LOADER/grub/custom_before.cfg
|
||||
|
||||
STAGE2_DIR="/mnt/target/opt/void-usb/installer"
|
||||
function get_stage2_file {
|
||||
[ -d "$STAGE2_DIR/$(dirname $1)" ] || mkdir -p "$STAGE2_DIR/$(dirname $1)"
|
||||
wget --output-document="$STAGE2_DIR/$1" "$GIT_REPO_BASE/$1" >> $LOGFILE 2>&1
|
||||
}
|
||||
|
||||
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 "Creating system image..."
|
||||
|
|
|
@ -9,12 +9,20 @@ do not rely on the RTC
|
|||
- only fall back to using rtc if offline
|
||||
- do not set the RTC
|
||||
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
|
||||
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
|
||||
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:
|
||||
- no nvidia drivers
|
||||
|
@ -23,17 +31,11 @@ musl upsides:
|
|||
- ??
|
||||
|
||||
Stage 1:
|
||||
- select kb layout
|
||||
- install base system
|
||||
-> select kb layout
|
||||
-> select installation type (x86_32/x86_64/aarch64, glibc/musl)
|
||||
-> if musl, add that bit to repo url
|
||||
-> configure time zone
|
||||
-> selection dialog?
|
||||
-> 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:
|
||||
-> configure services
|
||||
|
@ -42,23 +44,9 @@ Stage 2:
|
|||
-> acpid
|
||||
-> ask user to connect to network using nmtui
|
||||
-> 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
|
||||
-> terminal?
|
||||
-> browser?
|
||||
-> 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
|
||||
-> go through the list of choices for what the user can install
|
||||
-> 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
|
||||
-> don’t ask the user if there is only one option
|
||||
-> passwd -l root
|
||||
-> populate /etc/skel
|
||||
-> ultimate bashrc bc why not
|
||||
|
@ -77,3 +65,4 @@ Stage 2:
|
|||
-> add to groups
|
||||
-> including sudo group
|
||||
-> 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