dotfiles/nix/scripts.nix
2023-10-07 14:43:07 +03:00

33 lines
790 B
Nix

{ writeShellApplication, postgresql, ... }:
{
prymn_db = writeShellApplication {
name = "prymn_db";
runtimeInputs = [ postgresql ];
text = ''
#!/usr/bin/env bash
set -e
export PGDATA=$PROJECT_ROOT_DIR/.db
export PGHOST=/tmp
export DB_LOG=$PROJECT_ROOT_DIR/.db/log
if [ ! -d "$PGDATA" ]; then
initdb "$PGDATA" --auth=trust
fi
if ! pg_ctl status >/dev/null; then
pg_ctl start -l "$DB_LOG" -o "-c unix_socket_directories=$PGHOST"
echo "starting your dev database..."
fi
user_exists=$(psql --csv -t -d postgres -c "SELECT count(*) FROM pg_user WHERE usename='postgres'")
if [ "$user_exists" != "1" ]; then
createuser -s -h "$PGHOST" postgres
fi
'';
};
}