summaryrefslogtreecommitdiff
path: root/srv/default.nix
blob: 8a12f33f9209a9865306c9545f34ce2e121a9b19 (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
{pkgs, config, staticBuild}: rec {

    opts = [
        "-pow-secret=${config.powSecret}"
        "-ml-smtp-addr=${config.mlSMTPAddr}"
        "-ml-smtp-auth='${config.mlSMTPAuth}'"
        "-data-dir=${config.dataDir}"
        "-public-url=${config.publicURL}"
        "-listen-proto=${config.listenProto}"
        "-listen-addr=${config.listenAddr}"
    ] ++ (
        if config.staticProxyURL == ""
        then [ "-static-dir=${staticBuild}" ]
        else [ "-static-proxy-url=${config.staticProxyURL}" ]
    );

    build = pkgs.buildGoModule {
        pname = "mediocre-blog-srv";
        version = "dev";
        src = ./.;
        vendorSha256 = "08wv94yv2wmlxzmanw551gixc8v8nl6zq2m721ig9nl3r540x46f";
    };

    bin = pkgs.writeScript "mediocre-blog-srv-bin" ''
        #!/bin/sh
        exec ${build}/bin/mediocre-blog ${toString opts}
    '';

    runScript = pkgs.writeScriptBin "run-mediocre-blog" ''
        go run ./cmd/mediocre-blog/main.go ${toString opts}
    '';

    shell = pkgs.stdenv.mkDerivation {
        name = "mediocre-blog-srv-shell";
        buildInputs = [ pkgs.go runScript ];
    };

}