Hi, Forum. This question is about
symlinkJoin and the way
nix-env manages user-profiles.
The task I’d like to solve is how to make one big derivation for all the packages I need (approx. 30 packages, including my custom scripts, custom Xfce components, but also Openoffice, chromium, etc.). The idea is to install them atomically with just one
nix-env -i command.
I tried to do it with
symlinkJoin but soon I found seriosus disadvantages: 1) it failed to deal with
share/applications section, so no icons, no
.*desktops. 2) It doesn’t honor nix’s
propagate-user-env-packages, it doesn’t add Qt5 when needed 3) It doesn’t provide any systematic way to resolve conflicts. Actually,
symlinkJoin is built on top of
lndir which is very dumb.
So I have to turn my attention to the
nix-env itself that solves very same task when managing user-profiles. Do we have the functionality of
nix-env at the
nixpkgs level, e.g. as a better-than-symlinkJoin library function?