dotfiles-openSUSE

OS-native Stable

zypper with the best dependency solver of the bunch. Packman, AppArmor, Btrfs/snapper, Tumbleweed (dup) + Leap (up) aware.

Highlights

  • zypper + Packman
  • Btrfs / snapper
  • AppArmor
  • Tumbleweed + Leap

How it fits

The OS-native layer — Package manager, paths, clipboard — what changes with the OS. It builds on Core, which is vendored into its core/ directory. See the three-layer model for how the layers compose.

Getting started

git clone https://github.com/dotgibson/dotfiles-openSUSE ~/dotfiles-openSUSE
cd ~/dotfiles-openSUSE
./bootstrap.sh
exec zsh

Core is already vendored in a clone. Flags: --links-only, --no-flatpak.

What actually bites

  • Two flavors, different update command — Tumbleweed (rolling) upgrades with zypper dup (zdup); Leap (stable) uses zypper up (zup). Get it wrong and you either do not update or you half-update. bootstrap only refreshes metadata — the choice stays yours.
  • The best solver of the set — Lean on it. On a Tumbleweed dup, vendor-change / package-split prompts are normal — read them, do not reflexively decline.
  • AppArmor + Btrfs rollback — AppArmor (aa-status/aa-complain/aa-enforce) is the default MAC, not SELinux. Rollback is Btrfs + snapper (snaps, snapper undochange) snapshotted around each transaction — not package history.
  • Packman for codecs — openSUSE's analog to RPM Fusion. Not auto-added (the URL differs Tumbleweed-vs-Leap and it is not needed for the CLI stack); add it manually if you want codecs.

Read next