It's a component of your income stream, not a complete solution.
If you're doing open-source software as a living it's essential you have:
1. Books: You should at the very least write the canonical book on using a package, tool or application you've written. Amazon residuals might not be high, but they're non-zero. The effort involved in writing a book is considerable but they can pay dividends for a long time. It's also something you can chip away at over time.
2. Patreon: You need some way of measuring community enthusiasm for your project and what better way than to see how much they're willing to pay for it. Reward tiers can also help by allowing more generous patrons to help with advice, like feature requests, early code review and so on. This builds engagement.
3. Support Contracts: These might be super obnoxious, customers can be very difficult, but if you're in it to win it you absolutely need to cover this off. At the very least offer incident-level consulting to get people out of a jam. Figure out what the hassle's worth and price accordingly. $200/hr? $500/hr?
4. Corporate Sponsorship: I like it when companies step up and help fund open-source software directly, like how Redis has been supported by various companies along its lifepan (https://redis.io/topics/sponsors). If you find a good partner it's not "selling out", it's validation that your project is meaningful. They'll respect your decisions and not interfere.
5. Talks: Get out there and talk about your project. At the very least make videos, or get people to make them for you, that introduce how your tools work, how they can be used, and where you're going with the project. Being a speaker at an event might be daunting for some, but it's a great way to make connections and find opportunities.
Too many developers want to focus on nothing but the code. That's not how the world works.