summaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix50
1 files changed, 43 insertions, 7 deletions
diff --git a/default.nix b/default.nix
index 98efd74..b342fb7 100644
--- a/default.nix
+++ b/default.nix
@@ -1,6 +1,6 @@
{
- pkgsArg ? import (fetchTarball {
+ pkgs ? import (fetchTarball {
name = "nixpkgs-21-05";
url = "https://github.com/NixOS/nixpkgs/archive/7e9b0dff974c89e070da1ad85713ff3c20b0ca97.tar.gz";
sha256 = "1ckzhh24mgz6jd1xhfgx0i9mijk6xjqxwsshnvq789xsavrmsc36";
@@ -10,24 +10,60 @@
}: rec {
- pkgs = pkgsArg;
+ inherit pkgs;
- srv = pkgs.callPackage (import ./srv) {
- inherit config;
- };
+ init = pkgs.writeText "mediocre-blog-init" ''
+
+ export MEDIOCRE_BLOG_DATA_DIR="${config.dataDir}"
+
+ # mailing list
+ export MEDIOCRE_BLOG_ML_SMTP_ADDR="${config.mlSMTPAddr}"
+ export MEDIOCRE_BLOG_ML_SMTP_AUTH="${config.mlSMTPAuth}"
+ export MEDIOCRE_BLOG_ML_PUBLIC_URL="${config.publicURL}"
+
+ # pow
+ export MEDIOCRE_BLOG_POW_SECRET="${config.powSecret}"
+
+ # http
+ export MEDIOCRE_BLOG_HTTP_PUBLIC_URL="${config.publicURL}"
+ export MEDIOCRE_BLOG_HTTP_LISTEN_PROTO="${config.httpListenProto}"
+ export MEDIOCRE_BLOG_HTTP_LISTEN_ADDR="${config.httpListenAddr}"
+ export MEDIOCRE_BLOG_HTTP_AUTH_USERS='${builtins.toJSON config.httpAuthUsers}'
+ export MEDIOCRE_BLOG_HTTP_AUTH_RATELIMIT='${config.httpAuthRatelimit}'
+ '';
+ bin = pkgs.buildGoModule {
+ pname = "mediocre-blog";
+ version = "dev";
+ src = ./src;
+ vendorSha256 = "sha256:1vazrrg8rs9n8x40c9r53h9qnyxw59xkp0aq7jl15fliigk6q0cr";
+
+ subPackages = [ "cmd/mediocre-blog" ];
+
+ # disable tests
+ checkPhase = '''';
+ };
entrypoint = pkgs.writeScript "mediocre-blog-entrypoint" ''
- #!/bin/sh
+ #!${pkgs.bash}/bin/bash
set -e
+ source ${init}
mkdir -p ${config.runDir}
mkdir -p ${config.dataDir}
- exec ${srv.bin}
+ exec ${bin}/bin/mediocre-blog "$@"
'';
+ shell = pkgs.stdenv.mkDerivation {
+ name = "mediocre-blog-shell";
+ buildInputs = [ pkgs.go pkgs.sqlite ];
+ shellHook = ''
+ source ${init}
+ '';
+ };
+
service = pkgs.writeText "mediocre-blog" ''
[Unit]
Description=mediocregopher mediocre blog