A lawyer will be reluctant to take on the cause because the damage is samll, a few thousand dollars and the lawsuit on the city will be dragged for a long time. It is very difficult to get evidence to prove negligence.
It is also true the city cannot appropriate public fund without some kind of council approval. I don't know what kind of immunity the city mentioned. Normally for an incorporated town there is no immunity of any kind. Besides, they must have some kind of insurance for events like this.
What you can do is to find out who did the job for the city because city will ordinarily hire contractors to do the job. You can sue the contractor directly and the contractor will decide whether to implead the city. Again, to prove negligence is difficult and you may spend much more for evidence than you can recover.
Talk to your insurance company to see if that is covered.