From 4f01edb9230f58ff84b0dd892c931ec8ac9aad55 Mon Sep 17 00:00:00 2001 From: Brian Picciano Date: Tue, 13 Sep 2022 12:56:08 +0200 Subject: move src out of srv, clean up default.nix and Makefile --- default.nix | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) (limited to 'default.nix') 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 -- cgit v1.2.3