1{
2 lib,
3 mkMesonDerivation,
4
5 meson,
6 ninja,
7 lowdown-unsandboxed,
8 mdbook,
9 mdbook-linkcheck,
10 jq,
11 python3,
12 rsync,
13 nix-cli,
14
15 # Configuration Options
16
17 version,
18}:
19
20mkMesonDerivation (finalAttrs: {
21 pname = "nix-manual";
22 inherit version;
23
24 workDir = ./.;
25
26 # TODO the man pages should probably be separate
27 outputs = [
28 "out"
29 "man"
30 ];
31
32 # Hack for sake of the dev shell
33 passthru.externalNativeBuildInputs = [
34 meson
35 ninja
36 (lib.getBin lowdown-unsandboxed)
37 mdbook
38 mdbook-linkcheck
39 jq
40 python3
41 rsync
42 ];
43
44 nativeBuildInputs = finalAttrs.passthru.externalNativeBuildInputs ++ [
45 nix-cli
46 ];
47
48 preConfigure = ''
49 chmod u+w ./.version
50 echo ${finalAttrs.version} > ./.version
51 '';
52
53 postInstall = ''
54 mkdir -p ''$out/nix-support
55 echo "doc manual ''$out/share/doc/nix/manual" >> ''$out/nix-support/hydra-build-products
56 '';
57
58 meta = {
59 platforms = lib.platforms.all;
60 };
61})