summaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix93
1 files changed, 0 insertions, 93 deletions
diff --git a/default.nix b/default.nix
deleted file mode 100644
index b342fb7..0000000
--- a/default.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{
-
- pkgs ? import (fetchTarball {
- name = "nixpkgs-21-05";
- url = "https://github.com/NixOS/nixpkgs/archive/7e9b0dff974c89e070da1ad85713ff3c20b0ca97.tar.gz";
- sha256 = "1ckzhh24mgz6jd1xhfgx0i9mijk6xjqxwsshnvq789xsavrmsc36";
- }) {},
-
- config ? import ./config.nix,
-
-}: rec {
-
- inherit pkgs;
-
- 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" ''
- #!${pkgs.bash}/bin/bash
-
- set -e
- source ${init}
-
- mkdir -p ${config.runDir}
- mkdir -p ${config.dataDir}
-
- 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
- Requires=network.target
- After=network.target
-
- [Service]
- Restart=always
- RestartSec=1s
- User=mediocregopher
- Group=mediocregopher
- RuntimeDirectory=mediocre-blog
- ExecStart=${entrypoint}
-
- [Install]
- WantedBy=multi-user.target
- '';
-
- install = pkgs.writeScript "mediocre-blog" ''
- set -e -x
-
- sudo cp ${service} /etc/systemd/system/mediocregopher-mediocre-blog.service
- sudo systemctl daemon-reload
- sudo systemctl enable mediocregopher-mediocre-blog.service
- sudo systemctl restart mediocregopher-mediocre-blog.service
- '';
-}