diff --git a/shell.nix b/shell.nix index d6bc7b130..701304db9 100644 --- a/shell.nix +++ b/shell.nix @@ -36,8 +36,7 @@ let echo "" > ''${basePath}/.develop.env - PORT_OFFSET=$(((16#$(whoami | sha256sum | head -c 16)) % 1000)) - echo "PORT_OFFSET=''${PORT_OFFSET}" >> ''${basePath}/.develop.env + export PORT_OFFSET=$(((16#$(whoami | sha256sum | head -c 16)) % 1000)) if [[ -z "$PGHOST" ]]; then set -xe @@ -50,6 +49,9 @@ let psql -h ''${pgSockDir} -f ${postgresSchema} postgres printf "Postgres logfile is %s\nPostgres socket directory is %s\n" ''${pgLogFile} ''${pgSockDir} + export PGHOST=''${pgSockDir} + export PGLOG=''${pgLogFile} + cleanup_postgres() { set +e -x pg_ctl stop -D ''${pgDir} @@ -60,15 +62,15 @@ let set +xe fi - echo "PGHOST=''${pgSockDir}" >> ''${basePath}/.develop.env - echo "PGLOG=''${pgLogFile}" >> ''${basePath}/.develop.env - if [[ -z "$WIDGET_MEMCACHED_HOST" ]]; then set -xe memcached -l localhost -p $(($PORT_OFFSET + 11211)) &>/dev/null & widget_memcached_pid=$! + export WIDGET_MEMCACHED_HOST=localhost + export WIDGET_MEMCACHED_PORT=$(($PORT_OFFSET + 11211)) + cleanup_widget_memcached() { [[ -n "$widget_memcached_pid" ]] && kill $widget_memcached_pid } @@ -76,17 +78,15 @@ let set +xe fi - echo "WIDGET_MEMCACHED_HOST=localhost" >> ''${basePath}/.develop.env - echo "WIDGET_MEMCACHED_PORT=$(($PORT_OFFSET + 11211))" >> ''${basePath}/.develop.env - - echo "PGLOG=''${PGLOG}" >> ''${basePath}/.develop.env - if [[ -z "$SESSION_MEMCACHED_HOST" ]]; then set -xe memcached -l localhost -p $(($PORT_OFFSET + 11212)) &>/dev/null & session_memcached_pid=$! + export SESSION_MEMCACHED_HOST=localhost + export SESSION_MEMCACHED_PORT=$(($PORT_OFFSET + 11212)) + cleanup_session_memcached() { [[ -n "$session_memcached_pid" ]] && kill $session_memcached_pid } @@ -94,15 +94,15 @@ let set +xe fi - echo "SESSION_MEMCACHED_HOST=localhost" >> ''${basePath}/.develop.env - echo "SESSION_MEMCACHED_PORT=$(($PORT_OFFSET + 11212))" >> ''${basePath}/.develop.env - if [[ -z "$MEMCACHED_HOST" ]]; then set -xe memcached -l localhost -p $(($PORT_OFFSET + 11213)) &>/dev/null & memcached_pid=$! + export MEMCACHED_HOST=localhost + export MEMCACHED_PORT=$(($PORT_OFFSET + 11212)) + cleanup_session_memcached() { [[ -n "$memcached_pid" ]] && kill $memcached_pid } @@ -110,9 +110,6 @@ let set +xe fi - echo "MEMCACHED_HOST=localhost" >> ''${basePath}/.develop.env - echo "MEMCACHED_PORT=$(($PORT_OFFSET + 11212))" >> ''${basePath}/.develop.env - if [[ -z "$UPLOAD_S3_HOST" ]]; then set -xe @@ -122,26 +119,52 @@ let [[ -n "''${MINIO_LOGFILE}" ]] && rm -rvf ''${MINIO_LOGFILE} } - MINIO_DIR=$(mktemp -d) - MINIO_LOGFILE=$(mktemp --tmpdir minio.XXXXXX.log) - MINIO_ACCESS_KEY=$(${pkgs.pwgen}/bin/pwgen -s 16 1) - MINIO_SECRET_KEY=$(${pkgs.pwgen}/bin/pwgen -s 32 1) + export MINIO_DIR=$(mktemp -d) + export MINIO_LOGFILE=$(mktemp --tmpdir minio.XXXXXX.log) + export MINIO_ACCESS_KEY=$(${pkgs.pwgen}/bin/pwgen -s 16 1) + export MINIO_SECRET_KEY=$(${pkgs.pwgen}/bin/pwgen -s 32 1) minio server --address localhost:$(($PORT_OFFSET + 9000)) ''${MINIO_DIR} &>''${MINIO_LOGFILE} & minio_pid=$! + export UPLOAD_S3_HOST=localhost + export UPLOAD_S3_PORT=$(($PORT_OFFSET + 9000)) + export UPLOAD_S3_SSL=false + export UPLOAD_S3_KEY_ID=''${MINIO_ACCESS_KEY} + export UPLOAD_S3_KEY=''${MINIO_SECRET_KEY} + sleep 1 set +xe fi - echo "MINIO_DIR=''${MINIO_DIR}" >> ''${basePath}/.develop.env - echo "MINIO_LOGFILE=''${MINIO_LOGFILE}" >> ''${basePath}/.develop.env - echo "UPLOAD_S3_HOST=localhost" >> ''${basePath}/.develop.env - echo "UPLOAD_S3_PORT=$(($PORT_OFFSET + 9000))" >> ''${basePath}/.develop.env - echo "UPLOAD_S3_SSL=false" >> ''${basePath}/.develop.env - echo "UPLOAD_S3_KEY_ID=''${MINIO_ACCESS_KEY}" >> ''${basePath}/.develop.env - echo "UPLOAD_S3_KEY=''${MINIO_SECRET_KEY}" >> ''${basePath}/.develop.env + set -xe + + cat >> ''${basePath}/.develop.env <