This is the tutorial I follow whenever I find a need to do it (I don't do it often enough to have it memorized).

http://www.gimp.org/tutorials/Custom_Brushes/