This really seems like he should just learn how to use Nixos. I know it might be complicated to use in some ways, but those complexities mostly arise from nix when trying to play with non standard packages. The system configuration stuff is mostly straightforward.
The main reason I dont use nixos anymore is systemD and it’s relative fattyness as an os. (I’m on alpine these days)
Those who do not understand package managers are condemned to reinvent them. Poorly.