This time (as I did quite a while in the past) I took my own picture. I freeze on that side of the camera ... even had Walgreens try it and nope. So took a bunch - chose the best, put it on a CD and took it to Walgreens where they printed it out for $7.99. My last one was taken at AAA for free and it was absolutely horrible - very glad to get rid of it. By the way, you can't print it yourself because it has to withstand a very high temperature among other reasons.
And if you go to the passport page, you can get the form and fill it in online and then print it. Suggest you do that now and you'll be all ready after your December cruise to mail it off. Ten years ago my passport was handled out of the New Orleans office - now it's the Pittsburgh one ... for obvious reasons.