59 lines
1.1 KiB
Nix
59 lines
1.1 KiB
Nix
|
{ pkgs, lib, ... }:
|
||
|
let
|
||
|
version = "10768ce069f5c08e8e4393c494f0c6900922170c";
|
||
|
repo = pkgs.fetchgit {
|
||
|
url = "https://git.lain.faith/sorceress/vampysite.git";
|
||
|
rev = version;
|
||
|
sha256 = "1lniwqyhj6r3pwwd4qp01yhfxjbwclw5dn58dgf4kk45f9qgniy3";
|
||
|
};
|
||
|
|
||
|
patched_pkgs = import (builtins.fetchTarball
|
||
|
"https://github.com/AgathaSorceress/nixpkgs/tarball/image-optim-pack-cleanup") {
|
||
|
inherit (pkgs) config;
|
||
|
};
|
||
|
|
||
|
jekyll_env = patched_pkgs.bundlerEnv {
|
||
|
name = "jekyll_env";
|
||
|
inherit (pkgs) ruby;
|
||
|
|
||
|
gemdir = "${repo}/.";
|
||
|
};
|
||
|
image_optim_deps = with pkgs; [
|
||
|
pngout
|
||
|
advancecomp
|
||
|
optipng
|
||
|
pngquant
|
||
|
jhead
|
||
|
jpegoptim
|
||
|
jpeg-archive
|
||
|
libjpeg
|
||
|
];
|
||
|
in pkgs.stdenv.mkDerivation {
|
||
|
inherit version;
|
||
|
name = "vampysite";
|
||
|
|
||
|
src = repo;
|
||
|
|
||
|
buildInputs = with pkgs; [
|
||
|
jekyll_env
|
||
|
# nokogiri dependencies
|
||
|
zlib
|
||
|
libiconv
|
||
|
libxml2
|
||
|
libxslt
|
||
|
# jekyll wants a JS runtime
|
||
|
nodejs-slim
|
||
|
];
|
||
|
|
||
|
buildPhase = ''
|
||
|
export PATH="${lib.escapeShellArg (lib.makeBinPath image_optim_deps)}":$PATH
|
||
|
|
||
|
bundle exec jekyll build
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out
|
||
|
cp -r _site/* $out/
|
||
|
'';
|
||
|
}
|