#!/bin/bash set -e echo "Building rsplayer in release mode..." cargo build --release echo "Stopping existing daemon..." systemctl --user stop rsplayer 2>/dev/null || true rsp stop 2>/dev/null || true echo "Installing to /usr/bin/rsp..." sudo cp target/release/rsp /usr/bin/rsp sudo chmod +x /usr/bin/rsp echo "Installing shell completions for current shell..." SHELL_NAME=$(basename "$SHELL") case "$SHELL_NAME" in zsh) sudo mkdir -p /usr/share/zsh/site-functions sudo cp completions/rsp.zsh /usr/share/zsh/site-functions/_rsp sudo chmod +x /usr/share/zsh/site-functions/_rsp echo "Installed completions for $SHELL_NAME" ;; bash) sudo mkdir -p /usr/share/bash-completion/completions sudo cp completions/rsp.bash /usr/share/bash-completion/completions/rsp sudo chmod +x /usr/share/bash-completion/completions/rsp echo "Installed completions for $SHELL_NAME" ;; fish) sudo mkdir -p /usr/share/fish/vendor_completions.d sudo cp completions/rsp.fish /usr/share/fish/vendor_completions.d/rsp.fish sudo chmod +x /usr/share/fish/vendor_completions.d/rsp.fish echo "Installed completions for $SHELL_NAME" ;; *) echo "Unknown shell: $SHELL_NAME, installing no completions..." ;; esac echo "Installing systemd service..." mkdir -p ~/.config/systemd/user cp rsplayer.service ~/.config/systemd/user/ if systemctl --user is-active default.target &>/dev/null; then systemctl --user daemon-reload echo "To enable auto-start: systemctl --user enable rsplayer" else echo "Service installed but not enabled (no user session running)" echo "To enable later when logged in: systemctl --user enable rsplayer" fi echo "" echo "Done! Run 'rsp start' to start the daemon."