OS
I use FreeBSD and Debian GNU/Linux on servers (because rock-stable), and Gentoo or Fedora on workstations or notebooks (because flexible/up-to-date).

Desktop Environment
After having a habit of switching these a LOT (KDE, fvwm, fluxbox, i3, …), I got used to gnome-shell with several extensions.

Most of my tools run in a terminal emulator anyway (except browser and pdf viewer), so having tmux is way more important for me than a specific desktop/window manager.
I very often got asked “Which tool is this?” by people who also like to move more things to the terminal, so here’s the big picture:

Main Toolchain

  • bash + tmux
  • (neo)vim with a bunch of plugins - YES, vim can be your IDE! (I still need to do an article on this)
  • (neo)mutt + mbsync + notmuch + khard (+ khal)
  • taskwarrior + timewarrior
  • irssi or weechat (connecting to znc and bitlbee with all kind of backends)
  • cmus to listen to music/radiostreams

That’s all I need (plus basic things like compilers/interpreters/texlive and git of course), and it also works well on remote shells or without X.
If I decide or am forced to go without X for a longer time on a workstation or notebook, I find kmscon very useful.

Some of my configs are available on GitHub.