I38 only officially shipped desktop option now.

This commit is contained in:
Storm Dragon
2026-05-16 02:06:28 -04:00
parent 2117c2bae5
commit 770df26b19
3 changed files with 20 additions and 119 deletions
-43
View File
@@ -1,43 +0,0 @@
#!/bin/bash
# URL from where wine is downloaded, must be i686
wineURL="https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-7.11-upstream-linux-x86.tar.gz"
# Install required packages
install_package cabextract box86 dos2unix p7zip unzip xdotool
# Download and install wine
wineFile="$(mktemp)"
curl --output "$wineFile" "$wineURL"
# Create wine directory
sudo "${sudoFlags[@]}" mkdir -p /opt/wine
pushd /opt/wine
sudo "${sudoFlags[@]}" tar vxf "$wineFile"
popd
# Create files and links in /usr/local/bin
sudo "${sudoFlags[@]}" mkdir -p /usr/local/bin
echo -e '#!/bin/bash\nsetarch linux32 -L /opt/wine/bin/wine "$@"' | sudo "${sudoFlags[@]}" tee /usr/local/bin/wine > /dev/null
sudo "${sudoFlags[@]}" chmod 755 /usr/local/bin/wine
find /opt/wine/bin/ -maxdepth 1 -type f -perm -u+x -exec bash -c '
for i ; do
sudo "${sudoFlags[@]}" ln -s "$i" /usr/local/bin/
sudo "${sudoFlags[@]}" chmod 755 /usr/local/bin/"${i##*/}"
done' _ {} \;
# Install audiogame-manager
if [[ -d ~/audiogame-manager ]]; then
git -C ~/audiogame-manager pull
else
git clone https://git.stormux.org/storm/audiogame-manager ~/audiogame-manager
fi
cat << EOF | sudo "${sudoFlags[@]}" tee /usr/local/bin/audiogame-manager &> /dev/null
#!/usr/bin/env bash
pushd ~/audiogame-manager
./audiogame-manager.sh $@
exit 0
EOF
sudo "${sudoFlags[@]}" chmod 755 /usr/local/bin/audiogame-manager
restart
+18 -60
View File
@@ -6,23 +6,14 @@ if [[ -e /etc/pam.d/nodm ]]; then
sudo rm -f /etc/pam.d/nodm
fi
packages="$1"
packages="${packages//lxqt/lxqt lxterminal oxygen-icons ratpoison network-manager-applet}"
packages="${packages//mate/mate mate-extra network-manager-applet}"
packages="${packages//i3/caja clipster discount jq i3-wm libnotify lxterminal xfce4-notifyd pamixer playerctl python-i3ipc python-wxpython sox xdotool yad}"
# I38 core dependencies
packages="bc caja dex discount jq i3-wm libnotify mousepad pamixer pcmanfm playerctl python-gobject python-i3ipc python-pillow python-pytesseract scrot sox tesseract tesseract-data-eng udiskie xbacklight xclip xdotool xorg-setxkbmap xprintidle xterm yad"
packages+=" libmd libbsd"
# Proper command for launching the desktop session.
case "${1}" in
"lxqt") session="startlxqt";;
"mate") session="mate-session";;
*) session="$1";;
esac
./.includes/toggle-screen.sh -n
# Install X11Libre and GUI packages
install_package ${packages} brave-bin nodm-dgw orca speech-dispatcher xclip xlibre-xserver xlibre-input-libinput xlibre-video-fbdev xlibre-video-dummy-with-vt
# Install X11Libre and I38 packages
install_package "${packages}" brave-bin cthulhu nodm-dgw speech-dispatcher xlibre-xserver xlibre-input-libinput xlibre-video-fbdev xlibre-video-dummy-with-vt
# GUI bluetooth manager
if [[ "${architecture}" == "aarch64" ]]; then
@@ -32,60 +23,27 @@ fi
# Configure nodm
sudo sed -i "s/{user}/$USER/g" /etc/nodm.conf
# Create ~/.xinitrc
cat << "EOF" > ~/.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
dbus-launch
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
#accessibility for original load
export ACCESSIBILITY_ENABLED=1
export GTK_MODULES=gail:atk-bridge:canberra-gtk-module
export GNOME_ACCESSIBILITY=1
export QT_ACCESSIBILITY=1
export QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
export DBUS_SESSION_BUS_PID
export DBUS_SESSION_BUS_ADDRESS
EOF
echo "exec ${session}" >> ~/.xinitrc
chmod 755 ~/.xinitrc
if [[ "$1" == "i3" ]]; then
gitDir="$(mktemp -d)"
echo "Loading I38, please wait..."
git clone -q https://git.stormux.org/storm/I38 "$gitDir"
cd "$gitDir" || return
# Play a sound to let the user know the next part is interactive.
attention
./i38.sh -x
./i38.sh
gitDir="$(mktemp -d)"
echo "Loading I38, please wait..."
if ! git clone -q https://git.stormux.org/storm/I38 "$gitDir"; then
msgbox "Failed to clone I38 from https://git.stormux.org/storm/I38. Check your internet connection and try again."
return 1
fi
if ! cd "$gitDir"; then
msgbox "Failed to enter I38 directory."
return 1
fi
# Play a sound to let the user know the next part is interactive.
attention
./i38.sh -x
./i38.sh
fi
# Configure speech-dispatcher
if [[ ! -d ~/.config/speech-dispatcher ]]; then
spd-conf -n
fi
# Automatically start orca for mate.
if [[ "$1" == "mate" ]]; then
GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true
GSETTINGS_BACKEND=dconf gsettings set org.mate.interface accessibility true
GSETTINGS_BACKEND=dconf gsettings set org.mate.applications-at-visual startup true
fi
# enable nodm
sudo systemctl enable nodm --now
+2 -16
View File
@@ -93,21 +93,12 @@ while [[ "$choice" != "Exit" ]]; do
yay -R --noconfirm linux-rpi
install_package linux-rpi-16k
;;
"Install Lxqt Desktop")
source .includes/gui.sh lxqt
;;
"Install Mate Desktop")
source .includes/gui.sh mate
;;
"Install i3 Windowmanager")
"Install I38 Desktop")
source .includes/gui.sh i3
;;
"Screen reader")
source .includes/screenreader.sh
;;
"Set up gaming")
source .includes/gaming.sh
;;
"Set timezone")
source .includes/timezone.sh
;;
@@ -142,14 +133,9 @@ while [[ "$choice" != "Exit" ]]; do
if [[ "${raspberryPiVersion%%0*}" == "Raspberry Pi 5" ]] && ! pacman -Q linux-rpi-16k &> /dev/null ; then
options+=("Install Raspberry Pi 5 kernel")
fi
options+=("Install Lxqt Desktop"
"Install Mate Desktop"
"Install i3 Windowmanager"
options+=("Install I38 Desktop"
"Screen reader"
)
if [[ "${architecture}" == "armv7l" ]]; then
options+=("Set up gaming")
fi
options+=("Set timezone"
"Get help on IRC"
"Update configure-stormux"