The Nix packages are independent of the OS, this is actually one of the advantages of using Nix. It means that similar to when using Python virtual environments user packages are not mixed in with system packages. Nix also versions package changes. When switching between versions, Nix just updates the paths in your environment. If you wanted to stop using the packages all together you only need to remove the environment path.
Another advantage is that you define installs as part of configuration file, similar to Ansible/Chef/ect so things become repeatable.
The difference between Arch and Ubuntu is not so much that patches are applied to packages though, it's that packages are precompiled for Ubuntu, where as packages for Arch are often compiled from source.
Nix can compile packages from source, or use a binary from cache if it is available.
Another advantage is that you define installs as part of configuration file, similar to Ansible/Chef/ect so things become repeatable.
The difference between Arch and Ubuntu is not so much that patches are applied to packages though, it's that packages are precompiled for Ubuntu, where as packages for Arch are often compiled from source.
Nix can compile packages from source, or use a binary from cache if it is available.