From 83abee89b8e8028c1ac6c7391dc3b963d52f6c7e Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Fri, 20 Jun 2025 19:06:23 -0500 Subject: [PATCH] Operation:Reaper Beta --- install.sh | 1 - unsafe-update-payload.sh | 78 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 75 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index 0b6a124..7fcadb6 100755 --- a/install.sh +++ b/install.sh @@ -66,7 +66,6 @@ function configureMachine() { chmod +x "/home/${USER}/Desktop/Moonlight.desktop" gio set -t string "/home/${USER}/Desktop/Moonlight.desktop" metadata::xfce-exe-checksum "$(sha256sum "/home/${USER}/Desktop/Moonlight.desktop" | awk '{print $1}')" - # Make Moonlight run on startup. #ln -s /home/${USER}/Desktop/Moonlight.desktop /home/${USER}/.config/autostart/. diff --git a/unsafe-update-payload.sh b/unsafe-update-payload.sh index 8532ab3..a2642ee 100644 --- a/unsafe-update-payload.sh +++ b/unsafe-update-payload.sh @@ -1,3 +1,9 @@ +function installMissing() { + local $PACKAGE=$1 + dpkg -s ${PACKAGE} &>/dev/null; [[ $? -eq 1 ]] && apt-get -y install ${PACKAGE} +} + + function unsafeUpdate() { echo "Running user updates." @@ -10,16 +16,31 @@ function unsafeUpdate() { rm -rf chromebook-linux fi - # Additional updates that require 'user'. + # Operation: Reaper Beta + if [[ ! -f DOOM2.WAD ]]; then + wget https://office.duensing.digital/s/d5P29bmzPAGzpz4/download/DOOM2.WAD + fi + if [[ -f reaper.wad ]]; then + rm -rf reaper.wad + fi + # Always get this file so we can hot-patch it. + wget https://office.duensing.digital/s/kwx77KGJiorEEc6/download/reaper0-6-25f2.wad + mv reaper0-6-25f2.wad reaper.wad + + # woof -iwad DOOM2.WAD -file reaper.wad -fullscreen + # -deathmatch + } function unsafeUpdateRoot() { + local BE_MICROSOFT=0 + echo "Running root updates." # Firmware updates. Would be nice if we could reboot when needed. - dpkg -s fwupd &>/dev/null; [[ $? -eq 1 ]] && apt-get -y install fwupd + installMissing fwupd fwupdmgr refresh -y fwupdmgr update -y --no-reboot-check @@ -32,7 +53,7 @@ function unsafeUpdateRoot() { apt-get -fy dist-upgrade apt-get -fy autoremove if [[ -f /var/run/reboot-required ]] then - shutdown -r now + BE_MICROSOFT=1 fi # Allow 'user' to reboot machine. @@ -41,4 +62,55 @@ function unsafeUpdateRoot() { chown root:root /etc/sudoers.d/userreboot chmod a-w /etc/sudoers.d/userreboot fi + + # Work around hanging audio bug. + if [[ ! -f /etc/modprobe.d/alsa-base.conf.original ]]; then + cp -f /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.original + echo '#options snd-intel-dspcfg dsp_driver=2' >> /etc/modprobe.d/alsa-base.conf + echo 'options snd_sof sof_debug=1' >> /etc/modprobe.d/alsa-base.conf + BE_MICROSOFT=1 + fi + + # Operation: Reaper Beta + installMissing woof-doom + # Add Reaper icons to desktop + if [[ ! -f /home/${USER}/Desktop/Reaper.desktop ]]; then + cat <<- ICON1 > /home/${USER}/Desktop/Reaper.desktop + [Desktop Entry] + Name=Operation: Reaper Campaign + Exec=woof -iwad DOOM2.WAD -file reaper.wad -fullscreen + Icon=io.github.freedoom.Phase1 + Type=Application + Comment= + Categories=Game;ActionGame; + Keywords=first;person;shooter;vanilla;doom;boom;mbf; + Path=/home/user + Terminal=false + StartupNotify=false + ICON1 + chmod +x "/home/${USER}/Desktop/Reaper.desktop" + gio set -t string "/home/${USER}/Desktop/Reaper.desktop" metadata::xfce-exe-checksum "$(sha256sum "/home/${USER}/Desktop/Reaper.desktop" | awk '{print $1}')" +:< /home/${USER}/Desktop/ReaperDM.desktop + [Desktop Entry] + Name=Operation: Reaper Deathmatch + Exec=woof -iwad DOOM2.WAD -file reaper.wad -fullscreen + Icon=io.github.freedoom.Phase1 + Type=Application + Comment= + Categories=Game;ActionGame; + Keywords=first;person;shooter;vanilla;doom;boom;mbf; + Path=/home/user + Terminal=false + StartupNotify=false + ICON2 + chmod +x "/home/${USER}/Desktop/ReaperDM.desktop" + gio set -t string "/home/${USER}/Desktop/ReaperDM.desktop" metadata::xfce-exe-checksum "$(sha256sum "/home/${USER}/Desktop/ReaperDM.desktop" | awk '{print $1}')" +SKIPDM + fi + + # Do we need to reboot? + if [[ ${BE_MICROSOFT} -eq 1 ]]; then + shutdown -r now + fi }