From 78f5ed053aba713ea2fc1226ec8193d298c221fc Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 31 Oct 2023 13:35:51 +0100 Subject: [PATCH] lib/trivial: drop `rec` in favor of `lib` fixpoint That way each expression uses the final version of other lib.trivial declarations. For instance, when replacing `versionSuffix` with the string `"fnord"` in a lib overlay, `trivial.version` uses `"fnord"` as suffix now rather than `pre-git`. --- lib/trivial.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/trivial.nix b/lib/trivial.nix index caff77190fde..b3fb54a7add4 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -1,6 +1,18 @@ { lib }: -rec { +let + inherit (lib.trivial) + isFunction + isInt + functionArgs + pathExists + release + setFunctionArgs + toBaseDigits + version + versionSuffix + warn; +in { ## Simple (higher order) functions @@ -439,7 +451,7 @@ rec { */ functionArgs = f: if f ? __functor - then f.__functionArgs or (lib.functionArgs (f.__functor f)) + then f.__functionArgs or (functionArgs (f.__functor f)) else builtins.functionArgs f; /* Check whether something is a function or something