I've been around for awhile, and have settled on some pieces of software that I like. If your tastes are similar to mine, you might like this stuff too (YMMV)
- OS: BSD: FreeBSD or OpenBSD, Linux: Fedora or Debian, Commercial: Digital Unix or Solaris, for non-geeks: MacOSX - Unix is great for geeks. The particular flavour isn't too important so long as it's well designed, maintained by people with an eye for stability and large-scale use (Slackware doesn't meet the bar anymore, and Gentoo is laughably wrong for practically all purposes). OpenBSD is great when it comes to clean code and audits, but it's too far behind the times when it comes to support for architecture features (e.g. SMP).
- Editor: vim - I like emacs, but my habits of use lean towards things that start up really quickly - it's a lot easier for me to navigate to another file from the commandline and start up another vim on it than it is for me to keep emacs open all the time. Vim is still rather customisable, and the libperl integration is good for things that can't be done entirely in vim.
- Window Manager: WindowMaker - It's pretty, it still supports keyboard shortcuts, multiple desktops, and the interface is pretty nice. I've occasionally gone more minimalist than this, but I never stayed there for more than a few months. I don't like autotiling window managers much - the overlapping window metaphor feels more flexible to me.
- Programming language: Mostly Perl and C - I feel rather expressive in them. My style in each is informed by formerly doing a fair bit of programming in Scheme and a smorgasboard of other languages over the years. I'm not afraid of function pointers, named argument passing, or introspection, and I believe in code discipline when and where it makes sense. My Perl is probably cleaner and prettier than yours. My default set of flags to gcc is probably a lot stricter than yours.
- Shell: bash - tcsh is a weird shell for programming, and it was the only serious other choice if you wanted portability, back when I was shopping around. Most shells are close enough to each other that it doesn't really matter what one uses, although I've occasionally considered writing myself a shell in Perl that'd be easier to program. It'd be a lot of work to make it POSIX-compliant enough that it wouldn't break things though..
- WebBrowser: firefox - It's reasonably fast, I've found a number of nice plugins for it over the years, and has a moderately configurable interface. I wasn't impressed by Google Chrome. A long time ago I liked Netscape 3 (and OmniWeb) - Firefox feels kind of similar to me, but a lot smarter.
- Terminal: gnome-terminal - Heavily modified to look and act as much like an xterm as possible. --disable-factory, grey-on-black colours, etc. I (reluctantly) switched from rxvt because of the better font/unicode support in gnome-terminal
- Database: PostgreSQL, Commercial: DB/2, or Oracle - PostgreSQL is good for most purposes - the SQL dialect isn't weird (MySQL is particularly bad in this area), it performs well, and is pretty easy to setup/maintain. For anything higher-end, particularly when projects have the funding to support it, I like DB/2 (as friendly as Postgres but has more features/scalability) and Oracle (king of scalability, but primitive query tools and not fun to setup/install).
- Bug tracking: Bugzilla - It's reasonably easy to setup/install and everyone knows how to use it.
- Tree testing: Tinderbox - Automated build tool that manages a set of build machines that keep building your software with their custom config, optionally running tests on the binaries afterwards. Great for figuring out whose checkin broke the build!
- Wiki: MediaWiki - Built on very poor foundations (MySQL, php), but it has a lot of features and shed a lot of WeIrd design decisions that plague first-generation wikis. I do have my own wiki integrated into my blog software, but it's not developed enough yet for my tastes. Eventually I'll finish making it what I want :)
- VCS: subversion - If you haven't switched from cvs yet, you really should. I keep meaning to look at DVCS systems, but they look too complicated for the benefit I'd get.
- Word Processing: vim or abiword or openoffice - Usually I use vim for documents, inserting HTML if I want formatting. If it needs to look nice printed, I usually import to abiword and format after it's done, and if I need to recieve or send it in word format, I'll usually use openoffice to export it. I used to do things in TeX, but I abandoned that many many years ago - it felt like overkill for practically all purposes.
- Spreadsheet: gnumeric - It's very fast. I don't use spreadsheets very often
- Graphics editor: GIMP - I like the interface and scriptability. I'm one of the few people on the planet who thinks GIMP has a better interface than Photoshop.
- Graphics viewer: gqview/gqthumb - gqview does almost everything I want, lacking the ability to view animated gifs. Fortunately it supports hotkeys to run other programs (gimp, gqthumb) on the current image. Hooray!
I'm generally reasonably comfortable on a box running MacOSX, particularly if X11.app is installed and I can compile things (like vim). I don't like Apple's Finder very much though...
I'm not at all happy on a box running Windows. I typically want Putty (ssh client) and WinSCP if I'm going to be using it short-term, and Cygwin if I'm going to be using it long-term. Even with Cygwin it's irritating not to have SCIM or a compose key (that let me type in foreign languages).
I tend to write a lot of software for common things, reinventing the wheel.