website/flake.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];};
});
}