fix: passepartout CLI command — daemon/tui/repl now work from bash
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s

- PASSEPARTOUT_DATA_DIR now respects environment variable (was hardcoded to XDG)
- Daemon subcommand loads model-router and embedding-gateway lisp files
- TUI subcommand uses correct package name (passepartout.gateway-tui)
- Symlink created to ~/.local/bin/passepartout for PATH access
- Quicklisp local-projects symlink for ql:quickload without manual ASDF push
This commit is contained in:
2026-05-03 20:13:52 -04:00
parent f27ab1f779
commit ff64556924

View File

@@ -17,7 +17,7 @@ done
export SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
export PASSEPARTOUT_CONFIG_DIR="$(realpath -m "${XDG_CONFIG_HOME:-$HOME/.config}/passepartout")"
export PASSEPARTOUT_DATA_DIR="$(realpath -m "${XDG_DATA_HOME:-$HOME/.local/share}/passepartout")"
export PASSEPARTOUT_DATA_DIR="${PASSEPARTOUT_DATA_DIR:-$(realpath -m "${XDG_DATA_HOME:-$HOME/.local/share}/passepartout")}"
export PASSEPARTOUT_STATE_DIR="$(realpath -m "${XDG_STATE_HOME:-$HOME/.local/state}/passepartout")"
export PASSEPARTOUT_BIN_DIR="$(realpath -m "${XDG_BIN_HOME:-$HOME/.local/bin}")"
export PASSEPARTOUT_MEMEX_DIR="${PASSEPARTOUT_MEMEX_DIR:-$HOME/memex}"
@@ -300,7 +300,7 @@ help() {
echo ""
echo "Passepartout — Your Autonomous, Plain-Text Life Assistant"
echo ""
echo "Usage: passepartout.sh <command> [options]"
echo "Usage: passepartout <command> [options]"
echo ""
echo "System:"
echo " configure [--non-interactive] [--with-firewall] Install or reconfigure the system"
@@ -376,11 +376,17 @@ case "$COMMAND" in
;;
daemon)
check_dependencies
echo "Starting daemon in background..."
# Use the script's directory as the data dir (development mode)
# In production, set PASSEPARTOUT_DATA_DIR to your deployment path
export PASSEPARTOUT_DATA_DIR="${PASSEPARTOUT_DATA_DIR:-$SCRIPT_DIR}"
export MEMEX_DIR="${PASSEPARTOUT_MEMEX_DIR:-$HOME/memex}"
echo "Starting daemon (data dir: $PASSEPARTOUT_DATA_DIR)..."
nohup sbcl --non-interactive \
--eval '(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))' \
--eval "(push (truename \"$PASSEPARTOUT_DATA_DIR/\") asdf:*central-registry*)" \
--eval "(ql:quickload '(:passepartout :croatoan))" \
--eval "(ql:quickload :passepartout)" \
--eval "(load (format nil \"~alisp/system-model-router.lisp\" (truename \"$PASSEPARTOUT_DATA_DIR/\")))" \
--eval "(load (format nil \"~alisp/system-embedding-gateway.lisp\" (truename \"$PASSEPARTOUT_DATA_DIR/\")))" \
--eval '(passepartout:main)' \
> "$PASSEPARTOUT_STATE_DIR/daemon.log" 2>&1 &
echo "Waiting for port 9105..."
@@ -402,7 +408,7 @@ case "$COMMAND" in
--eval '(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))' \
--eval "(push (truename \"$PASSEPARTOUT_DATA_DIR/\") asdf:*central-registry*)" \
--eval '(ql:quickload :passepartout/tui)' \
--eval '(passepartout.tui:main)' || {
--eval '(passepartout.gateway-tui:main)' || {
echo "TUI error. Run 'passepartout doctor --fix'"; exit 1
}
;;