summaryrefslogtreecommitdiff
path: root/default.nix
blob: 95bfc26506ae1ee74f7fc201511a38078a073d0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
    pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/cd63096d6d887d689543a0b97743d28995bc9bc3.tar.gz") {},
    system ? builtins.currentSystem,
}:

    let
        jekyll_env = pkgs.bundlerEnv {
            name = "jekyll_env";
            ruby = pkgs.ruby;
            gemdir = ./.;
        };
    in
        {
            build = derivation {
                system = system;
                name = "mediocre-blog";
                builder = "${pkgs.bash}/bin/bash";
                args = [ ./build.sh ];

                src = ./src;
                stdenv = pkgs.stdenv;
                inherit jekyll_env;
            };

            serve = pkgs.stdenv.mkDerivation rec {
                name = "jekyll_env";

                # glibcLocales is required so to fill in LC_ALL and other locale
                # related environment vars. Without those jekyll's scss compiler
                # fails.
                #
                # TODO probably get rid of the scss compiler.
                buildInputs = [ jekyll_env pkgs.glibcLocales ];

                shellHook = ''
                    exec ${jekyll_env}/bin/jekyll serve -s ./src -d ./_site -w -I -D -H 0.0.0.0
                '';
            };
        }