Patterns almost made me skip opensuse, until I locked most of them so they won't annoy me anymore. I start with only selecting some basic patterns in the installer:
apparmor
base
documentation
enhanced_base
minimal_base
sw_management
x86_64_v3
When installed, I run this in my fresh system:
# save the currently installed patterns in a variable
installedPatterns=$(zypper se --type pattern --installed-only | grep -E "(.*\|){3}" | cut -d'|' -f2 | tail -n+2)
# lock every existing pattern
sudo zypper addlock --type pattern $(zypper search --type pattern | grep -E "(.*\|){3}" | cut -d'|' -f2 | tail -n+2)
# lock every package starting with "yast"
sudo zypper addlock yast*
# unlock the patterns you had installed
sudo zypper removelock --type pattern $installedPatterns
Pro:
- Only real dependencies get installed when adding packages
- Nothing re-installs because it belongs to an installed pattern
- No need for
--no-recommends
Con:
- You have to find out the packages you need yourself
For a minimal gnome install, use these packages (likely some more depending on you setup):
avahi
evince
flatpak
fwupd
gedit
gnome-calculator
gnome-disk-utility
gnome-keyring
gnome-session-wayland
gnome-system-monitor
gnome-terminal
gnome-tweaks
gnome-user-share
gparted
gtk2-metatheme-arc
gtk3-metatheme-arc
gtk4-metatheme-arc
libqt5-qtwayland
loupe
MozillaFirefox
MozillaFirefox-translations-common
pipewire-pulseaudio
qt6-wayland
sane-airscan
simple-scan
tpm2.0-tools
wireplumber-audio
xdg-user-dirs
xdg-user-dirs-gtk
Bonus tip: When removing software, use the -u flag for less bloat being left behind:
-u, --clean-deps
Automatically remove dependencies which become unneeded after removal of requested packages.