| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| opensuse-config.run | < 4 hours ago | 31.5 kB | |
| README.md | 2026-06-19 | 5.0 kB | |
| Totals: 2 Items | 36.5 kB | 0 |
๐ openSUSE Tumbleweed Post-Install Script
A comprehensive, automated configuration script (install.sh) designed for fresh installations of openSUSE Tumbleweed. The script fully automates the process of system optimization, adding key repositories, updating packages, installing software (multimedia, tools, gaming), and customizing the terminal shell.
โก Main Features
1. Repository Management & System Update
- PackageKit lock: Temporarily stops background services to avoid conflicts with the Zypper database.
- Extra repositories: Automatically adds Packman (codecs), Games, Emulators, Emulators:Wine, Google Chrome, and Brave Browser repositories.
- Full upgrade: Performs a full distribution upgrade (
zypper dup) with vendor changes allowed (--allow-vendor-change).
2. Software Installation & Cleanup
- Browsers: Google Chrome and Brave Browser.
- Bloatware removal: Removes unnecessary pre-installed packages (e.g.
nano,opensuse-welcome-launcher,qrca). - Main application set (64-bit): System tools (
fastfetch,git,mc), multimedia (gimp,kdenlive,audacity,elisa,mixxx), messaging apps (telegram-desktop,qbittorrent), and developer tools (cmake,meson). - External packages: Automatically downloads the latest RPM packages from GitHub releases (
ls-fg,ls-fg-vk), dedicated Discord installation, and a gaming launcher via Flatpak (Faugus Launcher).
3. Automatic GPU Detection & Early KMS
- The script automatically identifies the installed graphics card (NVIDIA, AMD, or Intel).
- Configures the appropriate kernel modules in
dracutfor Early KMS (early graphics mode loading). - Installs required 32-bit libraries for optimal gaming and compatibility layer performance (e.g.
wine-staging-32bit,mangohud-32bit,libgamemodeauto0-32bit).
4. Virtualization & Firewall
- Installs a complete virtualization stack:
virt-manager,qemu-kvm,libvirt, and UEFI packages (OVMF). - Automatically adds the current user to the
libvirtandkvmsystem groups (manage VMs without root privileges). - Configures
firewalld(adds thevirbr0virtual interface to the appropriate zone along with network rules).
5. System Optimization & Personalization
- SSD optimization: Enables the periodic
fstrim.timerservice for block-level SSD trimming. - Log cleanup: Clears the
journalctlsystem journal (retaining only the last 2 days of logs). - Hide systemd-boot: If the system uses
systemd-boot, the script configures it to boot the default entry instantly (timeout 0). - Fast DNS: Configures Cloudflare's secure and fast DNS servers (
1.1.1.1and1.0.0.1) directly in NetworkManager. - Modern Terminal (ZSH): Installs the ZSH shell, the Oh My Zsh framework, and the Powerlevel10k theme. The script also enforces Polish character encoding (
pl_PL.UTF-8) and adds an automaticfastfetchcall on every terminal launch.
๐ Repository Structure
To ensure the script works correctly with all its features, maintain the following file structure in your repository:
.
โโโ install.sh # Main installation script
โโโ .update.sh # (Optional) Update script copied to the home directory
โโโ Konserwacja systemu.desktop # (Optional) App shortcut added to the system menu
โโโ bleachbit/ # (Optional) Directory with a pre-configured BleachBit setup
๐ How to Run
โ ๏ธ IMPORTANT: Do NOT run this script directly from the root account (e.g. via
suorsudo ./install.sh). Run it as a regular user โ the script will request administrator privileges at the appropriate moment.๐ NOTE: After all tasks complete successfully, the script will automatically restart the system after 3 seconds to apply configuration changes (user groups, kernel modules, DNS).
Run the following commands in your terminal:
1. Clone your repository
git clone https://github.com/bartko4321/opensuse-config.git
2. Enter the downloaded folder
cd opensuse-config
3. Make the install.sh script executable
chmod +x install.sh
4. Run the script as a regular user
./install.sh
Bank account for support: 06291000060000000005038936
๐ Security & Sudo Permissions
At startup, the script creates a temporary config file /etc/sudoers.d/99-temp-installer, which allows the Zypper package manager to install software without prompting for the user's password throughout the lengthy installation process. This file is completely and safely removed at the end of the script, just before the machine reboots.
If you find this project useful, leave a star! โญ
๐ License
This project is released under the free MIT License. You are free to modify and adapt it to your own needs.