I have a Framework 13 12th gen i5 as well, running NixOS, but I definitely get a lot more than 3 hours! I'm usually running some terminals and Firefox.
I definitely had to play with powertop a bit and remove some programs that consumed a lot of battery (for example, the blueman tray applet had to go). I'd recommend setting powerManagement.enable = true and powerManagement.powertop.enable = true, and letting powertop run in the background while on battery for a few hours to identify the worst offenders.
This is my configuration: https://kirarin.hootr.club/git/steinuil/flakes/src/branch/ma...