Compare commits

..

2 commits

Author SHA1 Message Date
Simon Bruder 3068d3e035
Add hydra build
Some checks failed
continuous-integration/drone/push Build is failing
2021-05-13 14:02:46 +02:00
Simon Bruder cb5792e729
Convert to flake 2021-05-13 13:56:47 +02:00

181
flake.nix
View file

@ -9,7 +9,7 @@
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
in in
rec { rec {
packages = nixpkgs.lib.mapAttrs packages = nixpkgs.lib.mapAttrs
(name: value: pkgs.python3Packages.callPackage value { }) (name: value: pkgs.python3Packages.callPackage value { })
{ {
@ -75,115 +75,126 @@
doCheck = false; # circular depdendency doCheck = false; # circular depdendency
}; };
pymdown-extensions = pymdown-extensions =
{ buildPythonPackage, fetchPypi, markdown }: { buildPythonPackage, fetchPypi, markdown }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pymdown-extensions"; pname = "pymdown-extensions";
version = "8.0.1"; version = "8.0.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "07p5xks6qf73nbv0qb7jrspkpmxdyr7dpxv3rnkh9p2b5l2h99wv"; sha256 = "07p5xks6qf73nbv0qb7jrspkpmxdyr7dpxv3rnkh9p2b5l2h99wv";
};
propagatedBuildInputs = [
markdown
];
doCheck = false; # they fail?
}; };
mkdocs-material-extensions = propagatedBuildInputs = [
{ buildPythonPackage, fetchPypi }: markdown
];
buildPythonPackage rec { doCheck = false; # they fail?
pname = "mkdocs-material-extensions"; };
version = "1.0.1";
src = fetchPypi { mkdocs-material-extensions =
inherit pname version; { buildPythonPackage, fetchPypi }:
sha256 = "13y617sql4hqs376c3dfcb6v7q41km9x7fh52k3f74a2brzzniv9";
};
# circular dependency buildPythonPackage rec {
doCheck = false; pname = "mkdocs-material-extensions";
postPatch = '' version = "1.0.1";
sed -i 's/mkdocs-material>=5.0.0//' requirements/project.txt
'';
};
mkdocs-material = src = fetchPypi {
{ buildPythonPackage, fetchPypi, markdown, pygments }: inherit pname version;
sha256 = "13y617sql4hqs376c3dfcb6v7q41km9x7fh52k3f74a2brzzniv9";
};
buildPythonPackage rec { # circular dependency
pname = "mkdocs-material"; doCheck = false;
version = "6.1.2"; postPatch = ''
sed -i 's/mkdocs-material>=5.0.0//' requirements/project.txt
'';
};
src = fetchPypi { mkdocs-material =
inherit pname version; { buildPythonPackage, fetchPypi, markdown, pygments }:
sha256 = "0yifc1df94rsaxy72hqnhjkv4c50c30j5kg0yxybkxy07p7kafic";
};
propagatedBuildInputs = [ buildPythonPackage rec {
markdown pname = "mkdocs-material";
pygments version = "6.1.2";
packages.mkdocs src = fetchPypi {
packages.mkdocs-material-extensions inherit pname version;
packages.pymdown-extensions sha256 = "0yifc1df94rsaxy72hqnhjkv4c50c30j5kg0yxybkxy07p7kafic";
]; };
};
iosevka-web = propagatedBuildInputs = [
{ stdenv, fetchzip }: markdown
pygments
stdenv.mkDerivation rec { packages.mkdocs
pname = "iosevka-web"; packages.mkdocs-material-extensions
version = "3.7.1"; packages.pymdown-extensions
];
};
src = fetchzip { iosevka-web =
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/pkg-iosevka-${version}.zip"; { stdenv, fetchzip }:
sha256 = "0d012aqfnyqlpl4smfa2x2qz2qmbbfxb6jr4awv8gp6r359rc9k1";
stripRoot = false;
};
dontBuild = true; stdenv.mkDerivation rec {
pname = "iosevka-web";
version = "3.7.1";
installPhase = '' src = fetchzip {
mkdir -p $out url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/pkg-iosevka-${version}.zip";
cp -r woff woff2 ttf *.css $out sha256 = "0d012aqfnyqlpl4smfa2x2qz2qmbbfxb6jr4awv8gp6r359rc9k1";
''; stripRoot = false;
}; };
wiki = dontBuild = true;
{ stdenv }:
stdenv.mkDerivation { installPhase = ''
name = "wiki"; mkdir -p $out
cp -r woff woff2 ttf *.css $out
'';
};
src = self; wiki =
{ stdenv }:
buildPhase = "mkdocs build -d $out"; stdenv.mkDerivation {
name = "wiki";
installPhase = '' src = self;
mkdir -p $out/assets/fonts
ln -s ${packages.iosevka-web} $out/assets/fonts/iosevka
'';
nativeBuildInputs = [ buildPhase = ''
packages.mkdocs mkdocs build -d $out
packages.mkdocs-material echo "doc wiki $out" >> $out/nix-support/hydra-build-products
]; '';
};
installPhase = ''
mkdir -p $out/assets/fonts
ln -s ${packages.iosevka-web} $out/assets/fonts/iosevka
'';
nativeBuildInputs = [
packages.mkdocs
packages.mkdocs-material
];
};
}; };
defaultPackage = packages.wiki; defaultPackage = packages.wiki;
apps = { apps = {
serve = pkgs.writeShellScriptBin "serve" '' serve = pkgs.writeShellScriptBin "serve" ''
${pkgs.miniserve}/bin/miniserve --index index.html ${packages.wiki} ${pkgs.miniserve}/bin/miniserve --index index.html ${packages.wiki}
''; '';
}; };
# My hydra only has x86_64-linux builders
hydraJobs =
if builtins.elem system [ "x86_64-linux" ]
then {
build = packages.wiki;
}
else { };
}); });
} }