You'll need a local pgqsl. In one terminal:

hydra$ nix-shell
[nix-shell]$ initdb ./postgres

[nix-shell]$ postgres -D ./postgres/ -k $(pwd)/postgres/

In another terminal:

See https://github.com/NixOS/hydra/blob/242b8b7a314759ed33f69205d26a1b7c337511e0/hydra-module.nix#L13-L17

createdb -h $(pwd)/postgres hydra
mkdir ./data

export HYDRA_DBI="dbi:Pg:dbname=hydra;host=$(pwd)/postgres";
export HYDRA_CONFIG="$(pwd)/hydra.conf";
export HYDRA_DATA="$(pwd)/data";
export HYDRA_HOME=$(pwd)/src

./bootstrap
configurePhase
make
$ hydra-init
initialising the Hydra database schema...

$ hydra-create-user alice --password foobar --role admin

$ hydra-server
$ firefox <http://127.0.0.1:3000>

Creating a jobset, try:

nix expression: basic.nix in tests
check interval: 1
shares: 123
inputs:
  name: tests
  type: local path
  value: /home/grahamc/projects/github.com/NixOS/hydra/tests/jobs/
  notify committers: NOT checked

To run the evaluator:

hydra-evaluator

To run the evaluator for a specific jobset:

hydra-eval-jobset projectname jobsetname

Running the queue runner: NIX_REMOTE_SYSTEMS=$(pwd)/machines hydra-queue-runner -vvvv

NOTE You'll need to be a trusted user for the queue runner to work.