#shellcheck shell=bash layout_postgres() { if ! has postgres || ! has initdb; then # shellcheck disable=2016 log_error 'layout_postgres: `postgres` and `initdb` are not in PATH' return 1 fi # shellcheck disable=2155 export PGDATA="$(direnv_layout_dir)/postgres" export PGHOST="$PGDATA" if [[ ! -d "$PGDATA" ]]; then initdb cat >> "$PGDATA/postgresql.conf" << EOF listen_addresses = '' unix_socket_directories = '$PGHOST' EOF echo "CREATE DATABASE $USER;" | postgres --single -E postgres fi }