diff --git a/flake.nix b/flake.nix --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,7 @@ localOverlay = import ./nix/overlay.nix; overlays = [ localOverlay + (_: _: { commSrc = toString self; } ) ]; # Since we build for many systems (e.g. aarch64, x86_64-linux), we diff --git a/nix/rabbitmq-up-mac.nix b/nix/rabbitmq-up-mac.nix --- a/nix/rabbitmq-up-mac.nix +++ b/nix/rabbitmq-up-mac.nix @@ -1,6 +1,7 @@ { lib , rabbitmq-server , writeShellApplication +, commSrc }: # writeShellApplication is a "writer helper" which @@ -13,10 +14,10 @@ RABBITMQ_HOME=''${XDG_DATA_HOME:-$HOME/.local/share}/RabbitMQ RABBITMQ_PIDFILE=''${RABBITMQ_HOME}/rabbitmq.pid - "${../scripts/start_comm_daemon.sh}" \ - rabbitmq-server \ + "${commSrc}/scripts/start_comm_daemon.sh" \ + beam.smp \ RabbitMQ \ - "${../scripts/start_rabbitmq.sh}" \ + "${commSrc}/scripts/start_rabbitmq.sh" \ "$RABBITMQ_PIDFILE" # Explicitly exit this script so the parent shell can determine diff --git a/scripts/start_rabbitmq.sh b/scripts/start_rabbitmq.sh --- a/scripts/start_rabbitmq.sh +++ b/scripts/start_rabbitmq.sh @@ -2,8 +2,14 @@ set -eou pipefail +if ! command -v rabbitmq-server > /dev/null; then + echo "Please install rabbitmq-server or run 'nix develop'" >&2 + exit 1 +fi + SCRIPT_DIR=$(cd "$(dirname "$0")"; pwd -P) +# shellcheck source=/dev/null source "${SCRIPT_DIR}/source_development_defaults.sh" # RabbitMQ is mostly configured through environment variables @@ -14,4 +20,4 @@ echo "Kill RabbitMQ server: pkill rabbitmq-server beam.smp" >&2 # 'exec' allows for us to replace bash process with RabbitMQ -exec "rabbitmq-server" > "$RABBITMQ_LOG_BASE/startup.log" +exec rabbitmq-server > "$RABBITMQ_LOG_BASE/startup.log"