Feat: Native Installation von Steam, Heroic und Lutris über APT sowie 32-Bit-Multiarch-Aktivierung

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-09-06 12:39:57 +02:00
co-authored by Junie
parent c4241d7015
commit bb3e42a8e3
8 changed files with 29 additions and 14 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ Dieses Repository ist ein modulares, automatisiertes Setup- und Konfigurations-F
│ └── packages/ # Thematisch gegliederte Paketlisten (*.list) │ └── packages/ # Thematisch gegliederte Paketlisten (*.list)
│ ├── 01-base.list # Basiswerkzeuge, Firmware, Microcode │ ├── 01-base.list # Basiswerkzeuge, Firmware, Microcode
│ ├── 02-desktop.list # Hyprland, Waybar, SDDM, XDG-Portale, PipeWire │ ├── 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 │ ├── 04-virtualization.list # QEMU, KVM, Libvirt, Bridge-Tools
│ ├── 05-multimedia.list # VLC, Amberol, GIMP, Loupe, LibreOffice │ ├── 05-multimedia.list # VLC, Amberol, GIMP, Loupe, LibreOffice
│ └── 06-flatpaks.list # Flathub App-IDs │ └── 06-flatpaks.list # Flathub App-IDs
+1 -1
View File
@@ -58,7 +58,7 @@ sudo ./setup.sh --stages 04,05
│ └── packages/ # Thematische Paketlisten │ └── packages/ # Thematische Paketlisten
│ ├── 01-base.list # Grundlegende Systemwerkzeuge, Firmware, Microcode │ ├── 01-base.list # Grundlegende Systemwerkzeuge, Firmware, Microcode
│ ├── 02-desktop.list # Hyprland, Waybar, SDDM, Portale, Pipewire │ ├── 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 │ ├── 04-virtualization.list # QEMU, KVM, Libvirt, Bridge-Tools
│ ├── 05-multimedia.list # VLC, Amberol, GIMP, Loupe, LibreOffice │ ├── 05-multimedia.list # VLC, Amberol, GIMP, Loupe, LibreOffice
│ └── 06-flatpaks.list # Flatpak App-IDs & Flathub │ └── 06-flatpaks.list # Flatpak App-IDs & Flathub
+3
View File
@@ -5,6 +5,8 @@
gameconqueror gameconqueror
gamemode gamemode
gamescope gamescope
heroic
lutris
mangohud mangohud
mangoapp mangoapp
mesa-utils mesa-utils
@@ -13,6 +15,7 @@ openrgb
prismlauncher prismlauncher
protontricks protontricks
radeontop radeontop
steam-installer
steam-devices steam-devices
vulkan-tools vulkan-tools
wine wine
-6
View File
@@ -13,11 +13,5 @@ org.musescore.MuseScore
com.jeffser.Alpaca com.jeffser.Alpaca
# Gaming & Compatibility # 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 net.davidotek.pupgui2
io.github.rfrench3.scopebuddy-gui io.github.rfrench3.scopebuddy-gui
+11
View File
@@ -18,6 +18,17 @@ apt_ensure_keyrings_dir() {
fi 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/ # Download and install a GPG key into /etc/apt/keyrings/
# Usage: apt_add_keyring_from_url "https://example.com/key.gpg" "example.gpg" # Usage: apt_add_keyring_from_url "https://example.com/key.gpg" "example.gpg"
apt_add_keyring_from_url() { apt_add_keyring_from_url() {
+1 -1
View File
@@ -42,7 +42,7 @@ Available Stages:
05: Font Installation (JetBrainsMono, FantasqueSans, VictorMono) 05: Font Installation (JetBrainsMono, FantasqueSans, VictorMono)
06: System Services (AppArmor, Docker, Libvirt, zram) 06: System Services (AppArmor, Docker, Libvirt, zram)
07: Skel & User Environment (Zsh, Templates, Dotfiles Sync) 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) 09: Hyprland Desktop (LinuxBeginnings Auto-Installer)
Examples: Examples:
+9 -5
View File
@@ -26,10 +26,14 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
apt-transport-https \ apt-transport-https \
debian-archive-keyring 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 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..." log_substep "Migrating APT sources to Deb822 format..."
if [[ -f /etc/apt/sources.list && ! -f /etc/apt/sources.list.bak_pre_unstable ]]; then 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 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" apt_install_sources_file "$SCRIPT_DIR/data/apt/sources.list.d/debian-unstable.sources" "debian-unstable.sources"
fi fi
# 4. Deploy APT Preferences / Pinning # 5. Deploy APT Preferences / Pinning
log_substep "Configuring APT Pinning preferences..." log_substep "Configuring APT Pinning preferences..."
mkdir -p /etc/apt/preferences.d mkdir -p /etc/apt/preferences.d
if compgen -G "$SCRIPT_DIR/data/apt/preferences.d/*.pref" > /dev/null; then 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 done
fi 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)..." log_substep "Installing protection tools (apt-listbugs, apt-listchanges)..."
apt_update apt_update
DEBIAN_FRONTEND=noninteractive apt-get install -y apt-listbugs apt-listchanges 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..." log_substep "Performing full distribution upgrade to Debian Sid..."
apt_dist_upgrade apt_dist_upgrade
+3
View File
@@ -31,6 +31,9 @@ APT_LISTS=(
"05-multimedia.list" "05-multimedia.list"
) )
log_substep "Ensuring 32-bit (i386) multiarch architecture is enabled..."
apt_enable_i386
log_substep "Updating package lists before installation..." log_substep "Updating package lists before installation..."
apt_update apt_update