From 69bbd81c628133ceeed4f1eafaaae3c53215e126 Mon Sep 17 00:00:00 2001 From: "(cdep)illabout" Date: Wed, 10 Nov 2021 15:40:40 +0900 Subject: dhallDirectoryToNix: add this utility function --- pkgs/build-support/dhall/directory-to-nix.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pkgs/build-support/dhall/directory-to-nix.nix (limited to 'pkgs/build-support/dhall') diff --git a/pkgs/build-support/dhall/directory-to-nix.nix b/pkgs/build-support/dhall/directory-to-nix.nix new file mode 100644 index 00000000000..d751e19df3f --- /dev/null +++ b/pkgs/build-support/dhall/directory-to-nix.nix @@ -0,0 +1,25 @@ +{ dhallPackages, dhallPackageToNix}: + +# `dhallDirectoryToNix is a utility function to take a directory of Dhall files +# and read them in as a Nix expression. +# +# This function is similar to `dhallToNix`, but takes a Nixpkgs Dhall package +# as input instead of raw Dhall code. +# +# Note that this uses "import from derivation" (IFD), meaning that Nix will +# perform a build during the evaluation phase if you use this +# `dhallDirectoryToNix` utility. It is not possible to use +# `dhallDirectoryToNix` in Nixpkgs, since the Nixpkgs Hydra doesn't allow IFD. + +{ src +, # The file to import, relative to the src root directory + file ? "package.dhall" +}@args: + +let + generatedPkg = dhallPackages.generateDhallDirectoryPackage args; + + builtPkg = dhallPackages.callPackage generatedPkg { }; + +in + dhallPackageToNix builtPkg -- cgit 1.4.1