That's a really hacky method and should not be in the manual tbh.
You should be able to update by "installing" your env again though.
It's a bit overkill but for declarative package management under non-NixOS, I use home-manager's home.packages
option. It does essentially this but wraps it in a nice package and home-manager can do a lot of other things too.
As for flakes: No, you don't require them to do any of this. They solve an entirely different problem.