Maybe I missed it... But That doesn't explain how it integrates with the host system (other than it doesn't ?)
It also doesn't explain how your PATH is maintained. When you type 'pwd' into the terminal, which version from the nix store is used? There must be a master copy or master symlink. You're not typing hashes all the time
Snaps have their issues, but if you run 'firefox' there is only one snap. The versions are not guaranteed to play nice with the distro app versions though. That's kind of why they can't snap everything
PS: There are actually nuances that it seems Nix doesn't handle clearly. If libA requires libB and libC. LibB and libC both require a libD at different version numbers - then you can't safely link two libD versions(short of name mangling). You need to build libB and libC at some version of libD that will work for both. Maybe you specific a set of workable dependency versions and let the system resolve them ? Seems very messy. Ubuntu just gives you the version numbers and you need to patch the code to work with them
> parallel set of libraries/dependencies
snaps do the same thing? kind of the whole idea?
> If I build say... Konsole in Nix.. It seems like there would be no way for it to cleanly integrate with the rest of my KDE Desktop
See previous link