mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-12-01 18:16:14 +02:00
72 lines
1.2 KiB
Nix
72 lines
1.2 KiB
Nix
|
{ lib
|
||
|
, mkMesonDerivation
|
||
|
|
||
|
, meson
|
||
|
, ninja
|
||
|
, lowdown
|
||
|
, mdbook
|
||
|
, mdbook-linkcheck
|
||
|
, jq
|
||
|
, python3
|
||
|
, rsync
|
||
|
, nix-cli
|
||
|
|
||
|
# Configuration Options
|
||
|
|
||
|
, version
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
inherit (lib) fileset;
|
||
|
in
|
||
|
|
||
|
mkMesonDerivation (finalAttrs: {
|
||
|
pname = "nix-manual";
|
||
|
inherit version;
|
||
|
|
||
|
workDir = ./.;
|
||
|
fileset = fileset.difference
|
||
|
(fileset.unions [
|
||
|
../../.version
|
||
|
# Too many different types of files to filter for now
|
||
|
../../doc/manual
|
||
|
./.
|
||
|
])
|
||
|
# Do a blacklist instead
|
||
|
../../doc/manual/package.nix;
|
||
|
|
||
|
# TODO the man pages should probably be separate
|
||
|
outputs = [ "out" "man" ];
|
||
|
|
||
|
# Hack for sake of the dev shell
|
||
|
passthru.externalNativeBuildInputs = [
|
||
|
meson
|
||
|
ninja
|
||
|
(lib.getBin lowdown)
|
||
|
mdbook
|
||
|
mdbook-linkcheck
|
||
|
jq
|
||
|
python3
|
||
|
rsync
|
||
|
];
|
||
|
|
||
|
nativeBuildInputs = finalAttrs.passthru.externalNativeBuildInputs ++ [
|
||
|
nix-cli
|
||
|
];
|
||
|
|
||
|
preConfigure =
|
||
|
''
|
||
|
chmod u+w ./.version
|
||
|
echo ${finalAttrs.version} > ./.version
|
||
|
'';
|
||
|
|
||
|
postInstall = ''
|
||
|
mkdir -p ''$out/nix-support
|
||
|
echo "doc manual ''$out/share/doc/nix/manual" >> ''$out/nix-support/hydra-build-products
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
platforms = lib.platforms.all;
|
||
|
};
|
||
|
})
|