Got it working with nix flake

This commit is contained in:
Brian Picciano 2022-11-27 21:25:25 +01:00
parent 03493f9d61
commit 175ddfdbe9
3 changed files with 105 additions and 1 deletions

View File

@ -1,5 +1,4 @@
{
runDir = "/tmp/mediocre-blog/run";
dataDir = "/tmp/mediocre-blog/data";
publicURL = "http://localhost:4000";

42
flake.lock Normal file
View File

@ -0,0 +1,42 @@
{
"nodes": {
"pkgsSrc": {
"locked": {
"lastModified": 1659914493,
"narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-21.05",
"type": "indirect"
}
},
"root": {
"inputs": {
"pkgsSrc": "pkgsSrc",
"utils": "utils"
}
},
"utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

63
flake.nix Normal file
View File

@ -0,0 +1,63 @@
{
inputs.pkgsSrc.url = "nixpkgs/nixos-21.05";
inputs.utils.url = "github:numtide/flake-utils";
outputs = {
self, pkgsSrc, utils
}: utils.lib.eachSystem utils.lib.allSystems (system: let
pkgs = import pkgsSrc { inherit system; };
in {
defaultPackage = pkgs.buildGoModule {
pname = "mediocre-blog";
version = "dev";
src = ./src;
vendorSha256 = "sha256:1vazrrg8rs9n8x40c9r53h9qnyxw59xkp0aq7jl15fliigk6q0cr";
subPackages = [ "cmd/mediocre-blog" ];
# disable tests
checkPhase = '''';
};
devShell = pkgs.mkShell {
buildInputs = [ pkgs.go pkgs.sqlite ];
shellHook = ''
export MEDIOCRE_BLOG_DATA_DIR="/tmp/mediocre-blog/data"
# mailing list
export MEDIOCRE_BLOG_ML_SMTP_ADDR=""
export MEDIOCRE_BLOG_ML_SMTP_AUTH=""
export MEDIOCRE_BLOG_ML_PUBLIC_URL="http://localhost:4000"
# pow
export MEDIOCRE_BLOG_POW_SECRET="ssshhh"
# http
export MEDIOCRE_BLOG_HTTP_PUBLIC_URL="$MEDIOCRE_BLOG_ML_PUBLIC_URL"
export MEDIOCRE_BLOG_HTTP_LISTEN_PROTO="tcp"
export MEDIOCRE_BLOG_HTTP_LISTEN_ADDR=":4000"
# http auth
# (password is "bar". This should definitely be changed for prod.)
export MEDIOCRE_BLOG_HTTP_AUTH_USERS='{"foo":"$2a$13$0JdWlUfHc.3XimEMpEu1cuu6RodhUvzD9l7iiAqa4YkM3mcFV5Pxi"}'
export MEDIOCRE_BLOG_HTTP_AUTH_RATELIMIT="1s"
cd src
echo 'Loading test data...'
(cd cmd/load-test-data && go run main.go)
echo -e "\n\nTest data has been loaded into $MEDIOCRE_BLOG_DATA_DIR\n"
echo -e "You can do 'go run ./cmd/mediocre-blog/main.go' to start a dev instance on http://localhost:4000\n\n"
'';
};
});
}