Skip to content

Instantly share code, notes, and snippets.

@danidiaz
Created September 19, 2022 20:24
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
packages = [
pkgs.glibcLocales
(pkgs.postgresql.withPackages (p: []))
pkgs.pgcli
];
shellHook = ''
StartPG(){
pg_ctl -w -l $PGDATA/log start
}
StopPG(){
echo "stopping PG..."
pg_ctl stop
}
export PGDATA="$PWD/.pg"
export PGHOST="$PWD/.pg_sockets"
export PGDATABASE="foodb"
if [ ! -d $PGDATA ]; then
initdb &> /dev/null
mkdir -p $PGHOST
echo "unix_socket_directories = '$PGHOST'" >> $PGDATA/postgresql.conf
CREATE=true
fi
StartPG
trap StopPG EXIT # ~ trapping HUP/EXIT
if [[ $CREATE ]]; then
createuser -s postgres &> /dev/null
createdb $PGDATABASE
# set a stable crappy password for local/dev
# create db
fi
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment