diff options
Diffstat (limited to '')
| -rwxr-xr-x | install.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..6429345 --- /dev/null +++ b/install.sh | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | set -e | ||
| 3 | |||
| 4 | echo "Building rsplayer in release mode..." | ||
| 5 | cargo build --release | ||
| 6 | |||
| 7 | echo "Stopping existing daemon..." | ||
| 8 | systemctl --user stop rsplayer 2>/dev/null || true | ||
| 9 | rsp stop 2>/dev/null || true | ||
| 10 | |||
| 11 | echo "Installing to /usr/bin/rsp..." | ||
| 12 | sudo cp target/release/rsp /usr/bin/rsp | ||
| 13 | sudo chmod +x /usr/bin/rsp | ||
| 14 | |||
| 15 | echo "Installing shell completions for current shell..." | ||
| 16 | SHELL_NAME=$(basename "$SHELL") | ||
| 17 | |||
| 18 | case "$SHELL_NAME" in | ||
| 19 | zsh) | ||
| 20 | sudo mkdir -p /usr/share/zsh/site-functions | ||
| 21 | sudo cp completions/rsp.zsh /usr/share/zsh/site-functions/_rsp | ||
| 22 | sudo chmod +x /usr/share/zsh/site-functions/_rsp | ||
| 23 | echo "Installed completions for $SHELL_NAME" | ||
| 24 | ;; | ||
| 25 | bash) | ||
| 26 | sudo mkdir -p /usr/share/bash-completion/completions | ||
| 27 | sudo cp completions/rsp.bash /usr/share/bash-completion/completions/rsp | ||
| 28 | sudo chmod +x /usr/share/bash-completion/completions/rsp | ||
| 29 | echo "Installed completions for $SHELL_NAME" | ||
| 30 | ;; | ||
| 31 | fish) | ||
| 32 | sudo mkdir -p /usr/share/fish/vendor_completions.d | ||
| 33 | sudo cp completions/rsp.fish /usr/share/fish/vendor_completions.d/rsp.fish | ||
| 34 | sudo chmod +x /usr/share/fish/vendor_completions.d/rsp.fish | ||
| 35 | echo "Installed completions for $SHELL_NAME" | ||
| 36 | ;; | ||
| 37 | *) | ||
| 38 | echo "Unknown shell: $SHELL_NAME, installing no completions..." | ||
| 39 | ;; | ||
| 40 | esac | ||
| 41 | |||
| 42 | echo "Installing systemd service..." | ||
| 43 | mkdir -p ~/.config/systemd/user | ||
| 44 | cp rsplayer.service ~/.config/systemd/user/ | ||
| 45 | |||
| 46 | if systemctl --user is-active default.target &>/dev/null; then | ||
| 47 | systemctl --user daemon-reload | ||
| 48 | echo "To enable auto-start: systemctl --user enable rsplayer" | ||
| 49 | else | ||
| 50 | echo "Service installed but not enabled (no user session running)" | ||
| 51 | echo "To enable later when logged in: systemctl --user enable rsplayer" | ||
| 52 | fi | ||
| 53 | |||
| 54 | echo "" | ||
| 55 | echo "Done! Run 'rsp start' to start the daemon." | ||
