One of the reasons I was bought the new laptop was my longing for miniature music studio, indepent of my main computer. It is now done and here are some pointer how to create dirt-cheap (but legal) digital music studio. It's definitely not a professional or even semi-professional setup, but for a guy who liked to "compose music" using assembler instructions, this is pure heaven.
First of all, the saddest news: I am afraid that Linux is still not ready for creating music. Please note that I wrote creating music, not mixing music. If you want to record and mix audio generated by your instruments or other audio sources (and apply some effects to it), you can probably be content with Ardour or other Linux software. I wrote "probably" because I want to use my computer to generate music, i.e. I need sequencer, synths, MIDI input, automation...
Ther are Linux projects that aim to do this, specifically LMMS. However, they still have very long way to go before they will be as good in comparison to FL Studio and Cubase as Gimp is in comparison to Photoshop.
That means you need Windows and you have to buy some audio software (remember, we are talking about legal audio setup). (Of course there are also Mac audio applications but that's uncharted territory for me, sorry.) FL Studio costs between $100 and $300 (which includes lifetime upgrades), depending on which plugins you want to use. I tried many different audio applications and I still prefer FL Studio. This is probably because I was first a programmer and then a musician and I think the automation and parametric stuff that FL Studio offers for creating and manipulating sound is unmatched. - If you understand what you are doing, which is not easy for everyone. You absolutely have to read the documentation and look at how some demos are done.
(There is also free Buzz music system, which is usable for some minimalistic Kraftwerk/MODtracker stuff but cannot be compared to FL Studio.)
Note that FL Studio also includes lots of effects, harddisk recording, sample editor, tracker, piano roll, lots of ways to create drum loops and nice multichannel mixer. You don't need to buy any other software! It's all quite daunting but you can download the free demo version which contains all existing plugins so that you can decide which of them you want to buy. (The demo is fully functional and includes several tutorial and demo songs but doesn't allow you to save your work.)
Fl Studio uses only 100% software synthesis which brings us to rather important point: If you only want to create stereo sound (and not 5.1, for example) It doesn't matter what soundcard you have at all, as long as it is capable of outputting 16-bit stereo samples at at least 44.1 kHz, which is true for 99% of all audio cards manufactured in the last 10 years. What matters is the processor speed and (to a smaller extent) RAM size. If you have twice as fast processor, you can play twice as much voices or use twice as much effects. RAM is good if you use long samples. I cannot give you exact numbers for your needs but I can get very wild (meaning dozens of voices and effects in realtime) with 1,7 GHz Pentium and 512 MB of RAM (but of course different instruments and different effects eat up different amount of your processor cycles).
Then you need some headphones to plug into audio output jack of your PC and you can start composing. This is enough for me. If this is not enough for you, you have to invest in speakers, which might in turn mean that you have to buy better soundcard with gold-plated connectors, which might in turn mean that you have to get yourself a better room with better acoustic, etc... etc... Unless I'm going pro, I'll stick with the headphones, thank you very much.
You can theoretically control FL Studio using only computer keyboard and mouse. Although this is hardcore and oldskool, believe me that you'll enjoy composing much more if you have some sort of MIDI controller. If you want to create electronic music and "mix and tweak" rather than "compose", you can buy very cheap MIDI controller (I prefer this one but there are many different). Note that it doesn't have to output any sound and that it should have native USB connector (so that you can connect it directly to PC and don't have to buy separate MIDI->USB converter). If you want to compose melodies and try out your ideas on something that resembles the real piano, you can use large MIDI keyboard, maybe in conjunction with the smaller MIDI controller. The smaller one can be used for tweaking various parameters using the knobs and for transport control (starting/stopping/rewinding). Note that all of this is handled by FL Studio! Your keyboards only need to output MIDI data when you push the keys and turn the knobs.
If you want to create crazy electronic sounds, you can use the default free FL studio synths, buy some more or you can use many freely available VST plugins which are supported by FL Studio.
If you want to create something that resembles real live instruments, the most efficient solution is to buy "SoundFont Player" plugin. You can then find surprisingly good orchestral and vocal SoundFont files on the Internet for free. Alternatively, you can create your own.
The last important factor is sound latency. Under the default circumstances, there is a slight delay before the sound starts after you press the key on the keyboard. It's only a fraction of second but it's uncomfortable when you record live performance. The simplest solution is called Asio4Free (although there are other similar drivers, tailored for specific soundcards). After a little bit of experimenting with this free driver and FL Studio output setting, I lowered the latency to under 1/100 of second which cannot be noticed by human ears.
If you want to create MP3 to give to your friends, you are done and you don't need anything else (except, maybe, talent, but that's not strictly necessary). If you want to use this setup for something more professional (CD mastering, film soundtrack), it can also be done. When you finish your composition, export the audio parts, one by one, to separate WAV files and give them to the guy who will handle the sound mix. Warning! You must not tell him that you did all of this using FL Studio and that you don't have any speakers at home!!! Just tell him that you are not good at 5.1 mixing and you trust his excellent skills...