While my work is currently done outside my core working hours, I've been exploring if it is possible to make it self-sustainable and have been reading about a few other people who have been successful at this. I think the trick is to make it possible for people to pay you in one or more ways:
a) Don't ask for donations, but offer a support contract. It's easier for devs to get that approved.
b) Offer a hosted version at a reasonable price. Sell the convenience -- of course, this might not be feasible if your open source tool is not easy to offer as a hosted service.
c) Offer some premium features as a paid product. Companies are again happy to purchase a premium version if the pricing is not ridiculous (e.g. $500/year will be a no-brainer) and you can also throw in additional support.
d) Get a company to sponsor a feature if it is something that they badly want.
e) Charge for adding a company's logo in the Github repository as a less intrusive form of advertising.
f) Use your open source code and popularity to get a better paying job with work-life balance. Indirect monetization but hey, that's pretty legit.
g) Find a company that allows you to work on an open source project full time. Not too many companies do it but if your interests/strengths overlap with a project (e.g. Kubernetes) that you contribute to, this could be an option.