{ pkgs ? import { } }: with pkgs; let sql_file = "psql_creation.sql"; data_dir = "$(pwd)/.pgdata"; origin = "odyfo.db"; in mkShell { buildInputs = [ postgresql pgloader ]; shellHook = '' trap "kill 0" EXIT export PGDATA="${data_dir}" export PGHOST="${data_dir}" if [ ! -d ${data_dir} ]; then initdb --auth-local=trust --no-locale --encoding=UTF8 fi if ! pg_ctl status; then pg_ctl start -o "--unix_socket_directories=${data_dir} --listen_addresses='''" fi psql -d postgres -f ${sql_file} alias psql='psql -d postgres' alias nuke='rm -rf ${data_dir}' pgloader ${origin} postgresql:///odyfo pg_dump odyfo > migrated_db.sql ''; }