You’re totally right. On top of what you mentioned, the tool would ideally parse and interpret/serialize Nix, so as not to randomly break your config (because you’re using text replacements or something horrendous like that
).
However, at least installation/removal of packages could be “solved” by assuming a gui-installed-packages.nix exists which contains a list of packages managed by the tool.
Edit: Just to clarify, I’m not talking about a tool that replaces all the nice things you can do with the Nix language. It’s more from the perspective of a casual Nix user where installing, updating and maybe enabling services is all that’s needed.