I think the very best alternative to Amazon is: don't shop online at all. Support your local businesses!
Surely there's shops in your area where you can get those kinds of things -- your list doesn't have anything too exotic or difficult to obtain. Unless your tastes are out of the ordinary somehow.