From 238b0dc94b068a32530e8675425d22753d4af343 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 29 Jan 2024 18:57:52 +0100 Subject: [PATCH] apps: Add polyfill --- modules/apps.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/apps.nix b/modules/apps.nix index c49073d..1171dcf 100644 --- a/modules/apps.nix +++ b/modules/apps.nix @@ -3,12 +3,16 @@ let inherit (lib) mkOption types - getExe ; inherit (flake-parts-lib) mkTransposedPerSystemModule ; + getExe = lib.getExe or ( + x: + "${lib.getBin x}/bin/${x.meta.mainProgram or (throw ''Package ${x.name or ""} does not have meta.mainProgram set, so I don't know how to find the main executable. You can set meta.mainProgram, or pass the full path to executable, e.g. program = "''${pkg}/bin/foo"'')}" + ); + programType = lib.types.coercedTo derivationType getExe lib.types.str; derivationType = lib.types.package // {