If you live in Gwinnett County:
$15 cash or personal check to the probate court at the courthouse. Go in the courthouse complex in Lawrenceville on Langley and go all the way down the left corridor. 1H is the suite number, it's on the left. Ask the receptionist for an application, fill it out, and hand it to one of the clerks.
Next, you'll go to the government annex building where the tag office is, only you'll go to the second floor where the police permit unit is. You'll need $24 for the background check payable in cash, money order, or by Visa/MC/Discover. Make that money order out to the Gwinnett Police Permit Unit. You'll also need $5 cash for fingerprinting. They've recently upgraded the machines there, so they'll scan in your fingerprints and just ink the right index finger and apply it to the permit.
Then, you sit back and wait. I was told 60-90 days, but s0ulzer0 said he got his in 6 weeks with the old ink-every-finger routine. Theoretically, mine should be faster due to the scanner they now have.