{ stdenvNoCC, zola, writeScriptBin }: stdenvNoCC.mkDerivation rec { name = "docs.hacc.space-static"; # HINT: this is cursed. Nix flakes have no optimisation to deal with ${./.}, # so we wind up having to do this to make the symlink to content/ work. # (we still need to manually adjust it — but at least this way we can find # its target without further hoops) # # This does also mean we now copy the entire flake into the Nix store twice. # Yay for flakes! src = "${../../.}/websites/docs.hacc.space"; phases = [ "buildPhase" ]; buildInputs = [ zola ]; buildPhase = '' cp -r $src/* . rm content ln -s $src/../../docs content zola build --output-dir $out ''; watch = writeScriptBin "watch" '' ${zola}/bin/zola serve ${src} "$@" ''; }