Here's what I use for all my game-like or multimedia projects:
Music: Phonon for applications that need it to work decently most of the time, GStreamer for applications that need it to work amazingly all of the time and be ridiculously flexible, too. GStreamer is a bitch to figure out, and the documentation is somewhat lacking. I have a couple of Qt classes laying around that make it easier to work with, but in most cases I think Phonon will work for decoding and playing music quickly.
Sound effects: OpenAL was decent last I tried it. SDL has its own sound API, but it's not very intuitive. There's also SDL_Mixer, but again, I haven't tried it in a while.
2D CPU-generated graphics: SDL, always. If you need things to happen pixel-by-pixel with the flexibility of the CPU, SDL is there for you. Qt can probably replicate the pixel-by-pixel access with one of their image classes, but it's much easier to throw together an SDL / console application than a full Qt / GUI application if you just want to draw fractals or something.
3D GPU graphics: SDL with OpenGL and the GL Extension Wrangler. GLEW gives you easy access to GLSL and whatever else Khronos is too silly to have in the official GL spec. It makes everything way simpler once it's hooked up, and it's automatically imported in all my OpenGL projects as part of my homemade graphics engine.
3D Modelling: Blender, of course. It's a little hard to learn, but the documentation is decent and you can use Python to script it. It's extremely flexible, and you can even make raytracings of your game models from within it, for cutscenes or whatever.
Programming languages: C++ with Lua scripting. Lua isn't as powerful as Python, but it's probably faster and it's great for the little things like configuration files. If you learn Lua, you can save yourself a week of re-inventing the config-file wheel. And then later on you have the same language for scripting.
IDE: I just use Kate (KDE Advanced Text Editor) with a terminal and hand-written Makefiles. I'm too lazy to learn any of the zillions of other build systems. Except qmake, which I use for GUI applications, because Qt almost requires it. If you prefer GTK applications, Geany is very similar to Kate in scope. There's also Code::Blocks, which has some SDL and OpenGL example projects built-in, and I think there's a Windows port.
OS: I use Linux, but you can also use FreeBSD or even Mac OS X if you have to. I don't know if Haiku has any GPU acceleration yet, but I suspect they have SDL or something similar, so you can probably make some CPU-rendered games on there. Dunno what Haiku has for text editors.
Joysticks: Luckily, joysticks have a standardized USB interface, and you only need like 3 or 4 lines of SDL to initialize ANY joystick. I have a Logitech Atk3. It's only $30 or so, and it's fun for controlling 3D demos, but not necessary. It has 2 stick axes, a rather lame throttle axis, and a bunch of buttons, and works perfectly with SDL in any operating system. So don't ever worry about joystick support. It's right there.
Game engines / frameworks: I used Irrlicht for a little while, but they seem to have a lot of little glitches, and I'm not sure how good their model format is. OGRE is ridiculously complicated. I ended up writing my own graphics library, and it's also mediocre, but in different ways. It's not ready for release at all. So, sorry, but I can't recommend any game engines. Blender Game Engine does exist, but I haven't tried it. It would have the advantages of built-in GLSL, 100% Blender integration, great community support, and the Bullet physics engine, but I haven't played with it yet.
Physics engines: I actually took one night and tried 3 of the most popular open-source physics engines: Bullet, Tokamak, and ODE. I couldn't get the Physics Abstraction Layer to compile.
As I recall, one of them lacked documentation and had a completely ridiculous API, and another had poor documentation as a somewhat ridiculous API. Open Dynamics Engine has an intuitive API except for the collision callback thing, and their documentation is probably the best of the three. But they're still kind of weird, and I've yet to do anything useful with ODE.
Here's a video of me using ODE: http://blip.tv/file/3050202
I only have one cylinder because it took me fucking forever to get it oriented right and to get the collision thing going.
Sound editing: I haven't really done any, but Audacity is always there. I'm not a very good sound editor, and I don't have any effects to try it on, but Audacity is stable and exports to all the usual formats (Ogg/Vorbis, MP3, AAC, WAV, FLAC)