Hello. I’m in process of writing some overlays and I find it useful to have packages which the overlays add or modify also exposed as packages in the flake itself. I can then very conveniently use nix build/develop/shell .#packageName
during development.
I’d like to automatize the exposing and so far I came up with this abomination added_or_modified_pkgs = builtins.attrNames (overlay null null);
which of course breaks on python and similar packages which contains other packages.
Here is my flake: flake.nix · 97cd73d308f0e9d5877227ba501fea8c754ae823 · Michal Ulianko / Nix things · GitLab
nix flake show
now lists two packages for each arch: dotter
and cq/python3
and I’d like to have something like cq/python3/clang_10
.
I know that this does not have completely generic solution. One can not for example recursively compare vanilla nixpkgs and nixpkgs with an overlay without triggering an evaluation of all packages.
But perhaps somebody can recommend me some already writtern convenience utils or tell me that having both an overlay and its packages as “packages” in a flake is a wrong thing
Thanks