There is certain software that I would like to avoid. This repository helps configure the system so that the software doesn't get pulled in accidentally.
The package names were verified against the official package databases of each distribution family (packages.fedoraproject.org, download.opensuse.org repodata, archlinux.org/packages, packages.gentoo.org).
- Copy the file
avoidto/etc/apt/preferences.d/avoid
- Append the
excludepkgs=line fromavoid-fedorato the[main]section of/etc/dnf/dnf.conf - With dnf5 (Fedora 41+),
avoid-fedoracan instead be copied to/etc/dnf/libdnf5.conf.d/avoid.conf(drop-in directory)
- Copy the content of
avoid-opensuseto/etc/zypp/locks, or apply the same locks interactively:
zypper addlock <package-name>
- Add the
IgnorePkgandIgnoreGrouplines fromavoid-archto the[options]section of/etc/pacman.conf
- Copy
avoid-gentooto/etc/portage/package.mask/avoid
- These package managers (
apkandxbps, respectively) have no native mechanism to exclude packages from being installed or pulled in. There is no configuration file that can be shipped for them; install only what you need and use a minimal base image instead.
Mirroring the original Debian file, the following are deliberately not excluded on any family, because they are required by the base system or kept for compatibility:
- The GTK2 libraries
- The base GLib runtime (
libglib2.0-0on Debian,glib2on dnf/Arch,libglib-2_0-0on openSUSE,dev-libs/glibon Gentoo) - The base GTK3 runtime (
libgtk-3-0t64on Debian,gtk3on dnf/Arch,libgtk-3-0on openSUSE,x11-libs/gtk+:3on Gentoo)
Everything else in the avoid list (GNOME, GTK4, Wayland, PipeWire, XDG portals, Flatpak, NetworkManager, D-Bus, polkit, JACK, meson/ninja, gstreamer, and so on) is pinned to a priority of -1 (apt), excluded (dnf/pacman), locked (zypper) or masked (Portage).