There's a userspace frequency scaler (https://tildegit.org/solene/obsdfreqd) that increases my battery life to well beyond what I actually need. I easily get 6-8 hours on my Thinkpad X1 Nano (previous generation). This is not even close to the M series Macbook battery lifes, but works well enough for me.
I do not run heavyweight stuff though, but that's with WiFi, cwm/dwm, Emacs, compilers (go, cc) and Chrome. I've had a bit of trouble with Firefox performance, so having to use Chrome has been my biggest hurdle.
git clone git://bitreich.org/privacy-haters
doas cp privacy-haters/chromium/default /etc/profile.d/chromium.sh
doas chmod +x /etc/profile.d/chromium.sh
Logout and login again. Of course, run UBlock Origin under Chromium. Go to the settings and enable most ad blocking subscriptions, but don´t use AdGuard and Easylist at the same time, they often use the same ban lists.