Menu
Public repository / master
AkurAI-Drive / desktop/install.sh
Latest change 2d36cd6c72fc6a63a7edb87bb54a4020e50f2f8a - desktop: Tauri v2 tray + Google-Drive-style file browser app by olibuijr
#!/usr/bin/env bash
# Build AkurAI Drive (release) and install it for the current user:
# • binary → ~/.local/bin/akurai-drive
# • icons → ~/.local/share/icons/hicolor/{128x128,256x256,512x512}/apps/
# • launcher→ ~/.local/share/applications/akurai-drive.desktop
# • autostart (launches to the tray on login) → ~/.config/autostart/akurai-drive.desktop
#
# Re-runnable (idempotent). No root required.
set -euo pipefail
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SRC_TAURI="$HERE/src-tauri"
BIN_NAME="akurai-drive"
APP_ID="akurai-drive"
BIN_DIR="$HOME/.local/bin"
APP_DIR="$HOME/.local/share/applications"
ICON_BASE="$HOME/.local/share/icons/hicolor"
AUTOSTART_DIR="$HOME/.config/autostart"
echo "==> Building AkurAI Drive (release)…"
( cd "$SRC_TAURI" && cargo build --release )
BUILT="$SRC_TAURI/target/release/akurai-drive-desktop"
if [[ ! -x "$BUILT" ]]; then
echo "!! build did not produce $BUILT" >&2
exit 1
fi
echo "==> Installing binary → $BIN_DIR/$BIN_NAME"
mkdir -p "$BIN_DIR"
install -m 0755 "$BUILT" "$BIN_DIR/$BIN_NAME"
echo "==> Installing icons"
declare -A ICONS=( [128x128]="128x128.png" [256x256]="128x128@2x.png" [512x512]="icon.png" )
for size in "${!ICONS[@]}"; do
dest="$ICON_BASE/$size/apps"
mkdir -p "$dest"
install -m 0644 "$SRC_TAURI/icons/${ICONS[$size]}" "$dest/$APP_ID.png"
done
# Refresh the icon cache if the tool is available (best-effort).
command -v gtk-update-icon-cache >/dev/null 2>&1 && gtk-update-icon-cache -f -t "$ICON_BASE" >/dev/null 2>&1 || true
echo "==> Installing launcher → $APP_DIR/$APP_ID.desktop"
mkdir -p "$APP_DIR"
install -m 0644 "$HERE/$APP_ID.desktop" "$APP_DIR/$APP_ID.desktop"
echo "==> Installing autostart entry → $AUTOSTART_DIR/$APP_ID.desktop"
mkdir -p "$AUTOSTART_DIR"
# Same launcher, marked for autostart (app starts hidden in the tray).
{
cat "$HERE/$APP_ID.desktop"
echo "X-GNOME-Autostart-enabled=true"
} > "$AUTOSTART_DIR/$APP_ID.desktop"
chmod 0644 "$AUTOSTART_DIR/$APP_ID.desktop"
command -v update-desktop-database >/dev/null 2>&1 && update-desktop-database "$APP_DIR" >/dev/null 2>&1 || true
cat <<EOF
✓ Installed.
Binary : $BIN_DIR/$BIN_NAME
Launcher : $APP_DIR/$APP_ID.desktop
Autostart : $AUTOSTART_DIR/$APP_ID.desktop (launches to the tray on login)
Logs : ${XDG_STATE_HOME:-$HOME/.local/state}/akurai-drive/desktop.log
Make sure ~/.local/bin is on your PATH. Launch from your app menu (AkurAI Drive)
or run: $BIN_NAME
EOF