{ pkgs, src, version, ... }:

let
  nodeComposition = import ./node-composition.nix { inherit pkgs src; };
in
pkgs.runCommand "authentik-docs-${version}" {
  inherit src;
  nativeBuildInputs = [ nodeComposition.nodeDependencies ];
  nodeDependencies = nodeComposition.nodeDependencies;
} ''
  export PATH="$nodeDependencies/bin:$PATH"

  cp -r $src/website $NIX_BUILD_TOP/website
  chmod -R +w $NIX_BUILD_TOP/website

  cd $NIX_BUILD_TOP/website
  ln -s $nodeDependencies/lib/node_modules ./node_modules

  docusaurus build --config docusaurus.docs-only.js --out-dir $NIX_BUILD_TOP/out

  mv $NIX_BUILD_TOP/out $out
''