diff --git a/.github/workflows/build_documentation.yml b/.github/workflows/build_documentation.yml index 0864213a..7d3cdca4 100644 --- a/.github/workflows/build_documentation.yml +++ b/.github/workflows/build_documentation.yml @@ -53,15 +53,30 @@ jobs: # 1: branch # 2: install dir (relative to /nixvim/) build() { - flake="github:${repo}${1:+/$1}" + branch="$1" dir="${2:+/$2}" + flakeref="github:${repo}${branch:+/$branch}" baseHref="/${repoName}${dir}/" installDir="${out}${dir}" # Build docs for the given flake ref, overriding baseHref in the derivation args - nix build --impure --expr '(builtins.getFlake "'"$flake"'").outputs.packages.${builtins.currentSystem}.docs.override { - baseHref = "'"$baseHref"'"; - }' + nix build --impure \ + --argstr flakeref "$flakeref" \ + --argstr baseHref "$baseHref" \ + --expr ' + { + flakeref, + baseHref, + system ? builtins.currentSystem, + }: + let + flake = builtins.getFlake flakeref; + packages = flake.outputs.packages.${system}; + in + packages.docs.override { + inherit baseHref; + } + ' # Copy the result to the install dir mkdir -p "$installDir"