diff --git a/README.md b/README.md index a3a8b56..809356d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,33 @@ # yore +## Development + +`flake.nix` defines a development shell that has everything you'll need. To enter, run + +``` +nix develop +``` + +The rest of this section assumes you're in the dev shell. + +### Running Postgres + +`scripts/with-db $COMMAND` will create a Postgres cluster in a temporary directory with the credentials `user=yore-test dbname=yore-test port=5433`, start the Postgres server, run `$COMMAND` and then stop the Postgres erver. +On Linux, you need to have write permissions vor `/var/run/postgresql` to run it. +You can use this to run the tests in an entirely fresh database, e.g.: + +``` +scripts/with-db cabal test +``` + +You can also use it to run a database for development by choosing a `$COMMAND` that runs until you quit it, e.g. + +``` +BASE_DIR=./pgdata scripts/with-db psql "dbname=yore-test port=5433 user=yore-test" +``` + +By setting `$BASE_DIR` you can persist the database for later runs. + ## Inspo - https://fz.ub.uni-freiburg.de/show/fz.cgi?pKuerzel=FZ @@ -7,6 +35,7 @@ - So we're gonna do the PDFs after all - Let's hope we can deduce the PDF path from the link - And also that the PDFs aren't generated on demand as well. + - They are actually ## TODO