--- /dev/null
+# kernel: use savedconfig over initramfs
+sys-kernel/gentoo-kernel savedconfig -initramfs
+sys-kernel/linux-firmware -initramfs
+sys-firmware/intel-microcode -initramfs
+
+# systemd: use systemd-boot
+sys-apps/systemd boot kernel-install
+sys-kernel/installkernel systemd-boot
+
+# fuse: needs suid
+sys-fs/fuse suid
+
+# sudo: use offensive
+app-admin/sudo offensive
+
+# nm: disable wireless extensions (obsolete)
+net-misc/networkmanager -wext
+
+# ppp: disable gtk frontend
+net-dialup/ppp -gtk
+
+# cups: enable avahi printer discovery
+net-print/cups zeroconf
+
+# ca-certificates: include certs from CAcert
+app-misc/ca-certificates cacert
+dev-libs/nss cacert
+
+# libreoffice: use gtk3 (gtk4 requires X for some reason)
+app-office/libreoffice gtk3
+
+# transmission
+net-p2p/transmission appindicator cli gtk
+# inetutils: basic inet utils
+net-misc/inetutils telnet traceroute whois ftp
+# hexchat:
+net-irc/hexchat gtk lua libcanberra
+
+# emacs: enable gui with gtk
+app-editors/emacs gui gtk
+# emacs: enable tree-sitter support
+app-editors/emacs tree-sitter
+# emacs: enable support for various image formats
+app-editors/emacs svg webp gif imagemagick png
+# emacs: enable JIT compilation for .el files
+app-editors/emacs jit
+sys-devel/gcc jit
+# emacs: third party support
+net-mail/notmuch emacs
+app-crypt/pinentry emacs
+dev-libs/protobuf emacs
+dev-util/pkgcheck emacs
+app-admin/eselect emacs
+
+# zig: fetch the documentation for offline use
+dev-lang/zig doc
+
+# rust: use system-llvm
+dev-lang/rust system-llvm
+
+# mozilla: use system libraries, hwaccel
+www-client/firefox system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-pipewire system-webp hwaccel
+mail-client/thunderbird system-av1 system-harfbuzz system-jpeg system-libevent system-librnp system-libvpx system-webp system-pipewire hwaccel
+
+# droidcam: enable gtk3 frontend
+media-video/droidcam gtk
+dev-libs/libdbusmenu gtk3
+
+# mpv: enable CLI tools and archive support
+media-video/mpv tools archive
+
+# yad: disable webkit (brings webkit-gtk)
+gnome-extra/yad -webkit
+
+# Pipewire / Pulseaudio
+media-video/pipewire echo-cancel extra jack-sdk v4l sound-server flatpak pipewire-alsa
+media-libs/libcanberra pulseaudio
+
+# inkscape: enable support for newer svg2 format
+media-gfx/inkscape svg2
+
+# xfce-meta: enable image, svg, power management, archive, calendar and pulseaudio support
+xfce-base/xfce4-meta image svg upower archive calendar pulseaudio
+xfce-base/xfce4-settings libcanberra -xklavier
+# xfce4-pulseaudio-plugin: disable keybinder (doesn’t work on wayland)
+xfce-extra/xfce4-pulseaudio-plugin libcanberra -keybinder
+# xfdesktop: enable X support (doesn't build properly without it)
+xfce-base/xfdesktop X
+xfce-base/libxfce4ui X
+xfce-base/libxfce4windowing X
+# xfce4ui: enable system-info menu in settings
+xfce-base/libxfce4ui system-info
+
+# labwc: enable Xwayland
+gui-wm/labwc X
+gui-libs/wlroots X
+# wlroots: enable xcb-errors (better error reporting for Xwayland)
+gui-libs/wlroots xcb-errors
+
+# swaybg: enable gdk-pixbuf (allows more image formats)
+gui-apps/swaybg gdk-pixbuf
+
+# nm-applet: enable appindicator support
+gnome-extra/nm-applet appindicator
+
+# X: enable X support for apps still running under X
+sys-apps/dbus X
+media-libs/libepoxy X
+media-libs/libglvnd X
+media-libs/mesa X
+x11-libs/libxkbcommon X
+x11-libs/pango X
+x11-libs/cairo X
+dev-python/pycairo X
+x11-libs/gtk+ X
+dev-cpp/cairomm X
+dev-cpp/gtkmm X
+dev-qt/qtgui X