(There is a learning curve to packaging stuff yourself.)
"Learning curve" is an understatement. Nix is one of the most poorly documented projects I've seen, next to openstack. Coming into it with no background in functional programming didn't help.
Maybe I shouldn't have tried to package openstack on nix.
But I've tried to package other stuff, like quarto, and that was a nightmare. Nixpkgs didn't have an updated pandoc and I spent an eternity asking around for help, to try to package it. An updated version just got pushed to unstable a few days ago. The same matrix channels I joined to ask for help have been discussing this since then. Props on them for getting it working, but anyone who says that you can easily package anything, is capping. You need to have an understanding of the nix language, nix packaging (both of which are poorly documented), and a rudimentary packaging ecosystem of what you are trying to package.
Don't even get me started on flakes vs nonflakes.
I still use nix-shell for all my development environments, because it's the best way for reproducible environments I can share I've found.
By "network" they also meant you can export the disk image to another device on your local network, rather than over the internet.