45 lines
1.3 KiB
Nix
45 lines
1.3 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs";
|
|
flake-utils.url = "flake-utils";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (system: let
|
|
pkgs = import nixpkgs {inherit system;};
|
|
python = pkgs.python3.withPackages (ps:
|
|
with ps; [
|
|
markdown
|
|
(pelican.overrideAttrs (_: _: {patches = [./pelican.patch];}))
|
|
(
|
|
buildPythonPackage rec {
|
|
pname = "pelican-sitemap";
|
|
version = "1.1.0";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "pelican-plugins";
|
|
repo = "sitemap";
|
|
rev = version;
|
|
sha256 = "sha256-GEOLM4wc25VLRZ4qpOENTV6YGfYPHeu95gGdBauJswA=";
|
|
};
|
|
format = "pyproject";
|
|
propagatedBuildInputs = [poetry-core];
|
|
}
|
|
)
|
|
]);
|
|
website = pkgs.stdenv.mkDerivation {
|
|
name = "website";
|
|
src = ./.;
|
|
nativeBuildInputs = [pkgs.libfaketime python];
|
|
buildPhase = "faketime @${builtins.toString self.lastModified} make publish";
|
|
installPhase = "cp -r output $out";
|
|
};
|
|
in {
|
|
packages.default = website;
|
|
devShells.default = pkgs.mkShell {packages = [python];};
|
|
});
|
|
}
|