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/
|
|
'';
|
|
}
|