Compare commits

...

3 Commits

Author SHA1 Message Date
BodgeMaster 782cabf545 notes to self: update TODO list 2023-07-02 20:58:59 +02:00
BodgeMaster 6b620664df install stage 1: download resources for stage 2, undo additional GRUB configuration
undoes 4ba6486847
2023-07-02 20:54:58 +02:00
BodgeMaster c4441aab07 install stage 1: readability improvements 2023-07-02 20:52:21 +02:00
63 changed files with 705 additions and 47 deletions

View File

@ -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..."

View File

@ -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 cant 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? -> dont 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

View File

@ -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 sections 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`.

View File

@ -0,0 +1 @@
Choose which audio packages to install

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="No audio"
PACKAGES=""
function post-install {
echo "audio/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,3 @@
pipewire
pipewire-slim
none

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1 @@
Choose a desktop setup to install

View File

@ -0,0 +1,12 @@
function check {
return 0
}
DESCRIPTION="BodgeMasters IceWM setup (recommended)"
# TODO
PACKAGES=""
function post-install {
echo "desktop/icewm-fancy" >> /tmp/stage-2-choices
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,4 @@
icewm-fancy
icewm-light
openbox
none

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1 @@
Choose some extras to install

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="None"
PACKAGES=""
function post-install {
echo "extras/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,7 @@
desktop-backgrounds
minesweeper
snake
minecraft
all-no-minecraft
all
none

View File

@ -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
}

View File

@ -0,0 +1 @@
Install a media player?

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="No"
PACKAGES=""
function post-install {
echo "multimedia/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,2 @@
vlc
none

View File

@ -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
}

View File

@ -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 Nvidias secrecy, it isnt particularly good.
Installing the proprietary driver is recommended if you want to use Nvidia GPUs.
Different versions are available. You can only choose one.

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="Dont install."
PACKAGES=""
function post-install {
echo "nvidia/none" >> /tmp/stage-2-choices
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,4 @@
none
nvidia
nvidia470
nvidia390

View File

@ -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
}

View File

@ -0,0 +1 @@
Do you want some quality-of-life configuration done?

View File

@ -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
}

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="No (advanced users)"
PACKAGES=""
function post-install {
echo "pre-configure/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,3 @@
gui-and-bashrc
bashrc
none

View File

@ -0,0 +1,10 @@
nvidia
desktop
audio
systray
terminal
utilities
pre-configure
web
multimedia
extras

View File

@ -0,0 +1 @@
Do you want to install system tray applets?

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="Dont install additional tray icons"
PACKAGES=""
function post-install {
echo "systray/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,3 @@
network-and-audio
network
none

View File

@ -0,0 +1 @@
Which GUI terminal emulator do you want to install?

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,3 @@
lxterminal
xterm
none

View File

@ -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
}

View File

@ -0,0 +1 @@
Which set of desktop utilities do you want to install?

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="None"
PACKAGES=""
function post-install {
echo "utilities/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,5 @@
desktop-integrated-guisysmon
xfe-guisysmon
desktop-integrated-htop
xfe-htop
none

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1 @@
Install a web browser?

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,11 @@
function check {
return 0
}
DESCRIPTION="No web browser"
PACKAGES=""
function post-install {
echo "web/none" >> /tmp/stage-2-choices
}

View File

@ -0,0 +1,5 @@
firefox
firefox-esr
evil
elinks
none