The "nethack" ebuild requires QT by default. If -qt is used, it requires GNOME. If -gnome is used, it requires X11. Only if -qt -GNOME -X is used, the actual game Nethack will compile. This is a tad bit strange. Nethack is a text-based game. I suggest that the USE flags should be inverted, so that the text-based nethack will be installed by default, and USE="QT", "GNOME", or "X" should be required to add in these optional interfaces. Reproducible: Always Steps to Reproduce: I ran # emerge nethack on a brand-new system so that I would have a game to play while other stuff was being emerged. Actual Results: It started installing XFree?! It was hard to figure out what I did wrong. Expected Results: It should have installed the text-based Nethack. There's no reason to make installing Nethack this complicated.
For this to make sense you need a first grasp on the USE flags. a) the game will get -both- the text and the QT interface if you have USE="qt" emerge nethack b) both gtk, gnome, kde, qt and X are -default- USE flags, they are on per default for the whole system (depending somewhat on architectures and profiles) and therefore has to be negated first. c) to get the "clean slate" you seem to wish for : USE="-* " is the deal. There is no way for a single ebuild to negate systemwide defaults and then obey them again on the commandline. in the future, may i suggest the -v flag to emerge, "verbose" as it will show you what USE flags a program takes, and what state they are in.