I've been searching for so long for a way to have my software and configs and project deps tracked in a way that doesn't have me setting things up every time I switch to a new machine or--worse--opening an old project. I found some things that get me most off the way there like docker, rtx/mise, direnv, stow, or the package manager for whatever language I'm working in at a time. Still, nothing quite does what I need.
I tried our NixOS and have it on three machines as well as Nix on WSL. It took a while for me to figure it out, especially moving to flakes and separating user config out to home-manager. But it was fun enough to try and fail and fail and fail then succeed that I kept going. I think it might be what I'm looking for. I was able to set up a new machine by just cloning a repo and any time I cd into a project on NixOS or a remote Linux server or even Windows with WSL, everything is just ready for me. Do wish it were fully POSIX compliant, though.
I know this is from more of a developer perspective, but even for gaming and graphics I've never had an easier time getting Nvidia drivers set up.
I promise I'm not shilling. I still have a lot to learn. I think I made it past the cliff on this meme but I might be surprised.