forked from dipakmdhrm/meeting-recorder
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·85 lines (72 loc) · 2.63 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·85 lines (72 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/bin/env bash
set -euo pipefail
REPO_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "=== Meeting Recorder — Arch Linux Install ==="
# System deps
echo "Installing system dependencies..."
sudo pacman -S --needed --noconfirm \
python python-pip python-gobject gtk3 \
python-pystray libnotify \
ffmpeg pipewire pipewire-pulse wireplumber \
python-cairo
# gpu-screen-recorder (AUR — needed for screen recording)
if ! command -v gpu-screen-recorder &>/dev/null; then
if command -v yay &>/dev/null; then
echo "Installing gpu-screen-recorder from AUR..."
yay -S --needed --noconfirm gpu-screen-recorder
elif command -v paru &>/dev/null; then
echo "Installing gpu-screen-recorder from AUR..."
paru -S --needed --noconfirm gpu-screen-recorder
else
echo ""
echo "gpu-screen-recorder not found and no AUR helper (yay/paru) available."
echo "Install manually: yay -S gpu-screen-recorder"
echo "(Screen recording will be disabled without it)"
fi
fi
# Python deps via uv
INSTALL_DIR="$HOME/.local/share/meeting-recorder"
VENV_DIR="$INSTALL_DIR/.venv"
if ! command -v uv &>/dev/null; then
echo "Installing uv..."
curl -LsSf https://astral.sh/uv/install.sh | sh
fi
SYSTEM_PYTHON="$(command -v python3)"
echo "Setting up Python environment with uv (using $SYSTEM_PYTHON)..."
uv venv "$VENV_DIR" --python "$SYSTEM_PYTHON" --system-site-packages --clear
uv pip install --python "$VENV_DIR/bin/python" "$REPO_DIR"
# Copy source
echo "Installing source files..."
rm -rf "$INSTALL_DIR/src"
cp -r "$REPO_DIR/src" "$INSTALL_DIR/src"
# Log dir
mkdir -p "$HOME/.local/share/meeting-recorder/logs"
# Launcher
mkdir -p "$HOME/.local/bin"
cat > "$HOME/.local/bin/meeting-recorder" << LAUNCHER
#!/usr/bin/env bash
export PYTHONPATH="$INSTALL_DIR/src"
exec "$VENV_DIR/bin/python" -m meeting_recorder "\$@"
LAUNCHER
chmod +x "$HOME/.local/bin/meeting-recorder"
# Desktop entry
mkdir -p "$HOME/.local/share/applications"
cat > "$HOME/.local/share/applications/meeting-recorder.desktop" << DESKTOP
[Desktop Entry]
Type=Application
Name=Meeting Recorder
Comment=Record, transcribe and summarize meetings
Exec=$HOME/.local/bin/meeting-recorder --minimized
Icon=$INSTALL_DIR/src/meeting_recorder/assets/icons/meeting-recorder.svg
Terminal=false
Categories=AudioVideo;Audio;Utility;
StartupNotify=false
DESKTOP
echo ""
echo "=== Installation complete ==="
echo "Run 'meeting-recorder' or find it in your application menu."
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
echo ""
echo "NOTE: Add ~/.local/bin to your PATH:"
echo ' echo '\''export PATH="$HOME/.local/bin:$PATH"'\'' >> ~/.zshrc'
fi