aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAlex Ameen <alex.ameen.tx@gmail.com>2023-07-25 12:43:33 -0500
committerGitHub <noreply@github.com>2023-07-25 17:43:33 +0000
commit2d1d81114d72ace89ce08cd3bc93f4eb27a2975d (patch)
tree68134064a86a69ecb65a698cd0a5e71aa12cc5d2 /doc
parent484c820c481ce1aabf0fe51e478eb0187bc68fb6 (diff)
Add `parseFlakeRef` and `flakeRefToString` builtins (#8670)
Over the last year or so I've run into several use cases where I need to parse and/or serialize URLs for use by `builtins.fetchTree` or `builtins.getFlake`, largely in order to produce _lockfile-like_ files for lang2nix frameworks or tools which use `nix` internally to drive builds. I've gone through the painstaking process of emulating `nix::FlakeRef::fromAttrs` and `nix::parseFlakeRef` several times with mixed success; but these are difficult to create and even harder to maintain if I hope to stay aligned with changes to the real parser/serializer. I understand why adding new `builtins` isn't something we want to do flagrantly. I'm recommending this addition simply because I keep encountering use cases where I need to parse/serialize these URIs in `nix` expressions, and I want a reliable solution. Co-authored-by: Eelco Dolstra <edolstra@gmail.com> Co-authored-by: John Ericson <git@JohnEricson.me>
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/src/release-notes/rl-next.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/manual/src/release-notes/rl-next.md b/doc/manual/src/release-notes/rl-next.md
index c869b5e2f..065364453 100644
--- a/doc/manual/src/release-notes/rl-next.md
+++ b/doc/manual/src/release-notes/rl-next.md
@@ -1 +1,8 @@
# Release X.Y (202?-??-??)
+
+- Two new builtin functions,
+ [`builtins.parseFlakeRef`](@docroot@/language/builtins.md#builtins-parseFlakeRef)
+ and
+ [`builtins.flakeRefToString`](@docroot@/language/builtins.md#builtins-flakeRefToString),
+ have been added.
+ These functions are useful for converting between flake references encoded as attribute sets and URLs.