diff --git a/default.nix b/default.nix index bb9d8f8..78a86fd 100644 --- a/default.nix +++ b/default.nix @@ -28,8 +28,6 @@ staticBuild=static.build; }; - srvBin = srv.bin; - redisCfg = pkgs.writeText "mediocre-blog-redisCfg" '' port 0 unixsocket ${config.redisListenPath} diff --git a/srv/default.nix b/srv/default.nix index 3037fd7..5510744 100644 --- a/srv/default.nix +++ b/srv/default.nix @@ -1,62 +1,66 @@ { + bash, + go, buildGoModule, writeScript, - writeScriptBin, + writeText, stdenv, config, staticBuild, }: rec { - env = '' + init = writeText "mediocre-blog-srv-init" '' - export MEDIOCRE_BLOG_DATA_DIR=${config.dataDir} + export MEDIOCRE_BLOG_DATA_DIR="${config.dataDir}" + mkdir -p "${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.mlPublicURL} + export MEDIOCRE_BLOG_ML_SMTP_ADDR="${config.mlSMTPAddr}" + export MEDIOCRE_BLOG_ML_SMTP_AUTH="${config.mlSMTPAuth}" + export MEDIOCRE_BLOG_ML_PUBLIC_URL="${config.mlPublicURL}" # redis export MEDIOCRE_BLOG_REDIS_PROTO=unix - export MEDIOCRE_BLOG_REDIS_ADDR=${config.redisListenPath} + export MEDIOCRE_BLOG_REDIS_ADDR="${config.redisListenPath}" # pow - export MEDIOCRE_BLOG_POW_SECRET=${config.powSecret} + export MEDIOCRE_BLOG_POW_SECRET="${config.powSecret}" # static proxy if [ "${config.staticProxyURL}" == "" ]; then - export MEDIOCRE_BLOG_STATIC_DIR=${staticBuild} + export MEDIOCRE_BLOG_STATIC_DIR="${staticBuild}" else - export MEDIOCRE_BLOG_STATIC_URL=${config.staticProxyURL} + export MEDIOCRE_BLOG_STATIC_URL="${config.staticProxyURL}" fi # listening - export MEDIOCRE_BLOG_LISTEN_PROTO=${config.listenProto} - export MEDIOCRE_BLOG_LISTEN_ADDR=${config.listenAddr} + export MEDIOCRE_BLOG_LISTEN_PROTO="${config.listenProto}" + export MEDIOCRE_BLOG_LISTEN_ADDR="${config.listenAddr}" ''; build = buildGoModule { pname = "mediocre-blog-srv"; version = "dev"; - src = ./.; - vendorSha256 = "02szg1lisfjk8pk9pflbyv97ykg9362r4fhd0w0p2a7c81kf9b8y"; + src = ./src; + vendorSha256 = "sha256-/F62WVkI50woo5J0xZOAn0g0WWkDna4wIBeVvbhAGzs="; # disable tests checkPhase = ''''; }; bin = writeScript "mediocre-blog-srv-bin" '' - #!/bin/sh - mkdir -p "${config.dataDir}" - source ${env} + #!${bash} + source ${init} exec ${build}/bin/mediocre-blog ''; shell = stdenv.mkDerivation { name = "mediocre-blog-srv-shell"; + buildInputs = [ go build ]; shellHook = '' - source ${env} + source ${init} + cd src ''; }; } diff --git a/srv/api/api.go b/srv/src/api/api.go similarity index 100% rename from srv/api/api.go rename to srv/src/api/api.go diff --git a/srv/api/apiutils/apiutils.go b/srv/src/api/apiutils/apiutils.go similarity index 100% rename from srv/api/apiutils/apiutils.go rename to srv/src/api/apiutils/apiutils.go diff --git a/srv/api/chat.go b/srv/src/api/chat.go similarity index 100% rename from srv/api/chat.go rename to srv/src/api/chat.go diff --git a/srv/api/csrf.go b/srv/src/api/csrf.go similarity index 100% rename from srv/api/csrf.go rename to srv/src/api/csrf.go diff --git a/srv/api/mailinglist.go b/srv/src/api/mailinglist.go similarity index 100% rename from srv/api/mailinglist.go rename to srv/src/api/mailinglist.go diff --git a/srv/api/middleware.go b/srv/src/api/middleware.go similarity index 100% rename from srv/api/middleware.go rename to srv/src/api/middleware.go diff --git a/srv/api/pow.go b/srv/src/api/pow.go similarity index 100% rename from srv/api/pow.go rename to srv/src/api/pow.go diff --git a/srv/cfg/cfg.go b/srv/src/cfg/cfg.go similarity index 100% rename from srv/cfg/cfg.go rename to srv/src/cfg/cfg.go diff --git a/srv/cfg/cfg_test.go b/srv/src/cfg/cfg_test.go similarity index 100% rename from srv/cfg/cfg_test.go rename to srv/src/cfg/cfg_test.go diff --git a/srv/chat/chat.go b/srv/src/chat/chat.go similarity index 100% rename from srv/chat/chat.go rename to srv/src/chat/chat.go diff --git a/srv/chat/chat_test.go b/srv/src/chat/chat_test.go similarity index 100% rename from srv/chat/chat_test.go rename to srv/src/chat/chat_test.go diff --git a/srv/chat/user.go b/srv/src/chat/user.go similarity index 100% rename from srv/chat/user.go rename to srv/src/chat/user.go diff --git a/srv/chat/user_test.go b/srv/src/chat/user_test.go similarity index 100% rename from srv/chat/user_test.go rename to srv/src/chat/user_test.go diff --git a/srv/chat/util.go b/srv/src/chat/util.go similarity index 100% rename from srv/chat/util.go rename to srv/src/chat/util.go diff --git a/srv/cmd/mailinglist-cli/main.go b/srv/src/cmd/mailinglist-cli/main.go similarity index 100% rename from srv/cmd/mailinglist-cli/main.go rename to srv/src/cmd/mailinglist-cli/main.go diff --git a/srv/cmd/mediocre-blog/main.go b/srv/src/cmd/mediocre-blog/main.go similarity index 100% rename from srv/cmd/mediocre-blog/main.go rename to srv/src/cmd/mediocre-blog/main.go diff --git a/srv/cmd/userid-calc-cli/main.go b/srv/src/cmd/userid-calc-cli/main.go similarity index 100% rename from srv/cmd/userid-calc-cli/main.go rename to srv/src/cmd/userid-calc-cli/main.go diff --git a/srv/go.mod b/srv/src/go.mod similarity index 100% rename from srv/go.mod rename to srv/src/go.mod diff --git a/srv/go.sum b/srv/src/go.sum similarity index 100% rename from srv/go.sum rename to srv/src/go.sum diff --git a/srv/mailinglist/mailer.go b/srv/src/mailinglist/mailer.go similarity index 100% rename from srv/mailinglist/mailer.go rename to srv/src/mailinglist/mailer.go diff --git a/srv/mailinglist/mailinglist.go b/srv/src/mailinglist/mailinglist.go similarity index 100% rename from srv/mailinglist/mailinglist.go rename to srv/src/mailinglist/mailinglist.go diff --git a/srv/mailinglist/store.go b/srv/src/mailinglist/store.go similarity index 100% rename from srv/mailinglist/store.go rename to srv/src/mailinglist/store.go diff --git a/srv/mailinglist/store_test.go b/srv/src/mailinglist/store_test.go similarity index 100% rename from srv/mailinglist/store_test.go rename to srv/src/mailinglist/store_test.go diff --git a/srv/pow/pow.go b/srv/src/pow/pow.go similarity index 100% rename from srv/pow/pow.go rename to srv/src/pow/pow.go diff --git a/srv/pow/pow_test.go b/srv/src/pow/pow_test.go similarity index 100% rename from srv/pow/pow_test.go rename to srv/src/pow/pow_test.go diff --git a/srv/pow/store.go b/srv/src/pow/store.go similarity index 100% rename from srv/pow/store.go rename to srv/src/pow/store.go diff --git a/srv/pow/store_test.go b/srv/src/pow/store_test.go similarity index 100% rename from srv/pow/store_test.go rename to srv/src/pow/store_test.go