{ config, pkgs, ... }:
{
  devShells.mkdocs = pkgs.mkShellNoCC { inputsFrom = [ config.packages.docs ]; };
  packages = {
    docs =
      pkgs.runCommand "docs"
        {
          buildInputs = [ pkgs.python3.pkgs.mkdocs-material ];
          files = pkgs.lib.fileset.toSource {
            root = ../.;
            fileset = pkgs.lib.fileset.unions [
              ../docs
              ../mkdocs.yml
            ];
          };
        }
        ''
          cd $files
          mkdocs build --strict --site-dir $out
        '';
    docs-linkcheck = pkgs.testers.lycheeLinkCheck rec {
      extraConfig = {
        exclude = [
          "https://fonts.gstatic.com"
          "https://monitoring.nix-community.org/alertmanager" # 401 behind auth
        ];
        include_mail = true;
        include_verbatim = true;
      };
      remap = {
        "https://nix-community.org" = site;
      };
      site = config.packages.docs;
    };
  };
}