Open soupglasses opened 1 year ago
That became a few more force pushes than desired, but it should all be good now! :sweat_smile:
I forgot; the main use-case for apps is for packages that output multiple binaries. For example mkApp { drv = coreutils; name = "ls"; }
.
So I propose to just deprecate any uses of drv.passthru.exePath
.
ok, that seems ready to me. have a look and tell me what you think.
I am honestly still quite a bit for deprecating the entire mkApp
still. And recommending the use of { type = "app"; program = "${drv}/bin/name"; }
or using packages.
with mainProgram
instead.
As there is little gain having a mkApp
function compared to just using the direct definition it creates. For example:
{
outputs.apps.x86_64-linux = {
with-lib = flake-utils.lib.mkApp { drv = pkgs.coreutils; name = "ls"; };
no-lib = { type = "app"; program = "${pkgs.coreutils}/bin/ls"; };
};
}
Now that nixpkgs has its own idea of
passthru.exePath
under the namemeta.mainProgram
, deprecate our solution in favor of the new standard.This subsequently removes the value of which
mkApp
brings, and therefore a full deprecation for its removal has begun.Closes: #65