They arent: each feat-*.nix is a set of system configurations because some need to alter the system in different ways (change firewall rules, apply device tree overlays). Each feat-*.nix contain a
and if two imported files have extraLibs = [ a ] and extraLibs = [ b ], I expect the final evaluated python environment to be the equivalent of extraLibs = [ a b ]. Instead the import order is significant and I only get [ a ] or [ b ].
I realize my error now: when using imports = [ a.nix b.nix ] all sets in the imports are merged (//) in the importing file. I expected the same behavior here, but pkgs.python3.buildEnv is a derivation, not a set. I expect that I have two python envs installed in the system environment, just that one preceeds the other in PATH.
So then: is it possible to merge attributes of derivations across imported files? I’d prefer to keep the files separate for the sake of documentation.