From bb3e42a8e3bc5af18065a3890cfd3d934501f89a Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 6 Sep 2026 12:39:57 +0200 Subject: [PATCH] =?UTF-8?q?Feat:=20Native=20Installation=20von=20Steam,=20?= =?UTF-8?q?Heroic=20und=20Lutris=20=C3=BCber=20APT=20sowie=2032-Bit-Multia?= =?UTF-8?q?rch-Aktivierung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Junie --- AGENTS.md | 2 +- README.md | 2 +- config/packages/03-gaming.list | 3 +++ config/packages/06-flatpaks.list | 6 ------ lib/apt.sh | 11 +++++++++++ setup.sh | 2 +- stages/01-apt-unstable.sh | 14 +++++++++----- stages/04-packages.sh | 3 +++ 8 files changed, 29 insertions(+), 14 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index fae4a42..daba2d3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,7 +30,7 @@ Dieses Repository ist ein modulares, automatisiertes Setup- und Konfigurations-F │ └── packages/ # Thematisch gegliederte Paketlisten (*.list) │ ├── 01-base.list # Basiswerkzeuge, Firmware, Microcode │ ├── 02-desktop.list # Hyprland, Waybar, SDDM, XDG-Portale, PipeWire -│ ├── 03-gaming.list # Steam-Devices, Lutris, Gamescope, MangoHud, Wine +│ ├── 03-gaming.list # Steam, Heroic, Lutris, Gamescope, MangoHud, Wine │ ├── 04-virtualization.list # QEMU, KVM, Libvirt, Bridge-Tools │ ├── 05-multimedia.list # VLC, Amberol, GIMP, Loupe, LibreOffice │ └── 06-flatpaks.list # Flathub App-IDs diff --git a/README.md b/README.md index 2a4ec5c..2f7b648 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ sudo ./setup.sh --stages 04,05 │ └── packages/ # Thematische Paketlisten │ ├── 01-base.list # Grundlegende Systemwerkzeuge, Firmware, Microcode │ ├── 02-desktop.list # Hyprland, Waybar, SDDM, Portale, Pipewire -│ ├── 03-gaming.list # Steam-Devices, Lutris, Gamescope, MangoHud, Wine +│ ├── 03-gaming.list # Steam, Heroic, Lutris, Gamescope, MangoHud, Wine │ ├── 04-virtualization.list # QEMU, KVM, Libvirt, Bridge-Tools │ ├── 05-multimedia.list # VLC, Amberol, GIMP, Loupe, LibreOffice │ └── 06-flatpaks.list # Flatpak App-IDs & Flathub diff --git a/config/packages/03-gaming.list b/config/packages/03-gaming.list index 470016f..ef5e76b 100644 --- a/config/packages/03-gaming.list +++ b/config/packages/03-gaming.list @@ -5,6 +5,8 @@ gameconqueror gamemode gamescope +heroic +lutris mangohud mangoapp mesa-utils @@ -13,6 +15,7 @@ openrgb prismlauncher protontricks radeontop +steam-installer steam-devices vulkan-tools wine diff --git a/config/packages/06-flatpaks.list b/config/packages/06-flatpaks.list index 7e13969..4d339eb 100644 --- a/config/packages/06-flatpaks.list +++ b/config/packages/06-flatpaks.list @@ -13,11 +13,5 @@ org.musescore.MuseScore com.jeffser.Alpaca # Gaming & Compatibility -com.valvesoftware.Steam -com.heroicgameslauncher.hgl -net.lutris.Lutris -org.freedesktop.Platform.VulkanLayer.gamescope -org.freedesktop.Platform.VulkanLayer.MangoHud -com.valvesoftware.Steam.CompatibilityTool.Proton-GE net.davidotek.pupgui2 io.github.rfrench3.scopebuddy-gui diff --git a/lib/apt.sh b/lib/apt.sh index eb5e443..ac4c8f8 100755 --- a/lib/apt.sh +++ b/lib/apt.sh @@ -18,6 +18,17 @@ apt_ensure_keyrings_dir() { fi } +# Enable i386 (32-bit) multiarch architecture +apt_enable_i386() { + if ! dpkg --print-foreign-architectures | grep -q "^i386$"; then + log_info "Enabling 32-bit (i386) multiarch architecture..." + dpkg --add-architecture i386 + log_success "32-bit (i386) architecture enabled." + else + log_info "32-bit (i386) architecture is already enabled." + fi +} + # Download and install a GPG key into /etc/apt/keyrings/ # Usage: apt_add_keyring_from_url "https://example.com/key.gpg" "example.gpg" apt_add_keyring_from_url() { diff --git a/setup.sh b/setup.sh index 50f203f..f76c3c8 100755 --- a/setup.sh +++ b/setup.sh @@ -42,7 +42,7 @@ Available Stages: 05: Font Installation (JetBrainsMono, FantasqueSans, VictorMono) 06: System Services (AppArmor, Docker, Libvirt, zram) 07: Skel & User Environment (Zsh, Templates, Dotfiles Sync) - 08: Flatpaks & Applications (Flathub, Steam, Lutris, MIME types) + 08: Flatpaks & Applications (Flathub, Spotify, Waydroid, MIME types) 09: Hyprland Desktop (LinuxBeginnings Auto-Installer) Examples: diff --git a/stages/01-apt-unstable.sh b/stages/01-apt-unstable.sh index 92e7635..894ada4 100755 --- a/stages/01-apt-unstable.sh +++ b/stages/01-apt-unstable.sh @@ -26,10 +26,14 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ apt-transport-https \ debian-archive-keyring -# 2. Ensure Keyrings directory exists +# 2. Enable 32-bit (i386) Multiarch Architecture +log_substep "Enabling 32-bit (i386) multiarch architecture..." +apt_enable_i386 + +# 3. Ensure Keyrings directory exists apt_ensure_keyrings_dir -# 3. Migrate /etc/apt/sources.list to Deb822 format +# 4. Migrate /etc/apt/sources.list to Deb822 format log_substep "Migrating APT sources to Deb822 format..." if [[ -f /etc/apt/sources.list && ! -f /etc/apt/sources.list.bak_pre_unstable ]]; then cp /etc/apt/sources.list /etc/apt/sources.list.bak_pre_unstable @@ -42,7 +46,7 @@ if [[ -f "$SCRIPT_DIR/data/apt/sources.list.d/debian-unstable.sources" ]]; then apt_install_sources_file "$SCRIPT_DIR/data/apt/sources.list.d/debian-unstable.sources" "debian-unstable.sources" fi -# 4. Deploy APT Preferences / Pinning +# 5. Deploy APT Preferences / Pinning log_substep "Configuring APT Pinning preferences..." mkdir -p /etc/apt/preferences.d if compgen -G "$SCRIPT_DIR/data/apt/preferences.d/*.pref" > /dev/null; then @@ -51,12 +55,12 @@ if compgen -G "$SCRIPT_DIR/data/apt/preferences.d/*.pref" > /dev/null; then done fi -# 5. Install apt-listbugs and apt-listchanges to safeguard Unstable upgrades +# 6. Install apt-listbugs and apt-listchanges to safeguard Unstable upgrades log_substep "Installing protection tools (apt-listbugs, apt-listchanges)..." apt_update DEBIAN_FRONTEND=noninteractive apt-get install -y apt-listbugs apt-listchanges -# 6. Perform Full Dist-Upgrade +# 7. Perform Full Dist-Upgrade log_substep "Performing full distribution upgrade to Debian Sid..." apt_dist_upgrade diff --git a/stages/04-packages.sh b/stages/04-packages.sh index 9a48ebd..00c3456 100755 --- a/stages/04-packages.sh +++ b/stages/04-packages.sh @@ -31,6 +31,9 @@ APT_LISTS=( "05-multimedia.list" ) +log_substep "Ensuring 32-bit (i386) multiarch architecture is enabled..." +apt_enable_i386 + log_substep "Updating package lists before installation..." apt_update