>>108443268
I had the same question a few years ago.
A good starting point is a desktop profile. I actually installed without a desktop profile but then I had tons of annoying stuff that would be missing so I just checked what desktop profiles do and manually added those flags to my make.conf. If you want to make your life easier just use a desktop profile directly.
Then there's some big features which you can decide for yourself to globally enable or disable. For example I have USE="-gtk -gtk3 -gtk4 -gnome -systemd -wayland alsa pulseaudio pipewire lto pgo X zsh-completion thinkpad qt6 [...a bunch of deskotp profile stuff]"
because I don't use wayland or systemd, I want to avoid gnome and gtk stuff whenever possible and use qt(6) instead (this used to be qt5 a while ago), I want to enable optimisations (pgo and lto) whenever the package supports it, I have pipewire for my sound (which also emulates pulseaudio), I use zsh, and I'm on a thinkpad.
Then there's system flags that are likely enabled by the desktop profile anyway, but if you're not using one you'll need to think about them, stuff like USE="elogind udev dbus acpi vaapi opengl vulkan"
, which is video driver stuff and important OS building blocks (unfortunately everything nowadays does require dbus and elogind). And then I also have a ton of formats/codecs ("mp3 mp4 mpeg ogg pango pdf png vorbis svg truetype x264" and some shit) which are mostly used by ffmpeg and sometimes individual programs providing media support.
Then when installing individual desktop packages, 80-90% of the time the default + your make.conf is fine, but you can look through the useflags provided to see if you want to enable anything extra or disable anything built-in with a package-specific file.
And when doing world updates with -av, USE changes are highlighted so you can look through to see new use flags added, new default-enabled use flags etc., though again vast majority of the time you can accept as-is.