It definitely needs to be like Nix
>functional (system gets "rebuilt" every boot; can go back to old configs if last one is borked
>package configuration (list of installed packages, system options, program options/default overrides) are described in a single file
This means no more updates overriding your global configs, for example, because they are rebuilt according to your parameters every update.
>building from source on update or adapting package compilation options (basically Portage overlays) is probably more obtuse than it should, but it is well supported
I can't go back to traditional package managers after this. All it would need to be perfect is: disregarding the userwise Nix store altogether and implement some permissions-based user-specific packages in a read-only directory (having writable binaries in a home directory is a huge security issue), and actually building a config file out of the user installed packages (which may be already the case, but I haven't found anything on the docs about it) in order to export it.
If you can also implement some sort of compatibility layer to register library "equivalents" between distroes, so your package manager can act as a package metamanager that can download stuff from different repos (probably with some limitations, obviously), you would probably hit gold.