Caledonian Hotel in Fort Augustus has accommodation. The pub serves food.