- build-unified.sh: master build script (16 hooks, kernel 7.0.0-rc7) - config/package-lists: Debian package selections - assets: Alfred Commander extension tarball - docs: ARM64 investigation, kernel upgrade roadmap
95 lines
3.2 KiB
Bash
95 lines
3.2 KiB
Bash
#!/bin/bash
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# Alfred Linux v2.0-b3 — Alfred IDE (code-server) Integration
|
|
#
|
|
# Installs code-server + Alfred Commander extension.
|
|
# BUILD: v2.0-b3 (IDE)
|
|
# ═══════════════════════════════════════════════════════════════
|
|
|
|
set +e # IDE download may fail in chroot — don't kill the build
|
|
|
|
echo "[Alfred Linux v2.0-b3] Installing Alfred IDE (code-server)..."
|
|
|
|
# ── 1. Install code-server via official installer ──
|
|
export HOME=/root
|
|
curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/usr/local 2>&1 || {
|
|
echo "[WARN] Official installer failed, trying direct deb..."
|
|
# Fallback: download specific version
|
|
CODE_SERVER_VER="4.102.2"
|
|
wget -q "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VER}/code-server_${CODE_SERVER_VER}_amd64.deb" -O /tmp/code-server.deb
|
|
dpkg -i /tmp/code-server.deb || apt-get -f install -y
|
|
rm -f /tmp/code-server.deb
|
|
}
|
|
|
|
# ── 2. Pre-install Alfred Commander extension ──
|
|
EXTENSION_DIR="/etc/skel/.local/share/code-server/extensions"
|
|
mkdir -p "$EXTENSION_DIR"
|
|
if [[ -f /tmp/alfred-commander-1.0.1.tar.gz ]]; then
|
|
tar xzf /tmp/alfred-commander-1.0.1.tar.gz -C "$EXTENSION_DIR/"
|
|
echo "[Alfred IDE] Commander extension installed to skel"
|
|
else
|
|
echo "[WARN] Commander extension tarball not found in /tmp/"
|
|
fi
|
|
|
|
# ── 3. Configure code-server defaults ──
|
|
mkdir -p /etc/skel/.config/code-server
|
|
cat > /etc/skel/.config/code-server/config.yaml << 'CFG'
|
|
bind-addr: 127.0.0.1:8443
|
|
auth: password
|
|
password: alfred
|
|
cert: false
|
|
app-name: Alfred IDE
|
|
CFG
|
|
|
|
# ── 4. Systemd user service for auto-start ──
|
|
mkdir -p /etc/skel/.config/systemd/user
|
|
cat > /etc/skel/.config/systemd/user/code-server.service << 'SVC'
|
|
[Unit]
|
|
Description=Alfred IDE (code-server)
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=exec
|
|
ExecStart=/usr/local/bin/code-server
|
|
Restart=always
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
WantedBy=default.target
|
|
SVC
|
|
|
|
# Enable for default user (will activate on first login)
|
|
mkdir -p /etc/skel/.config/systemd/user/default.target.wants
|
|
ln -sf ../code-server.service /etc/skel/.config/systemd/user/default.target.wants/code-server.service
|
|
|
|
# ── 5. Desktop shortcut ──
|
|
mkdir -p /etc/skel/Desktop
|
|
cat > /etc/skel/Desktop/alfred-ide.desktop << 'DESK'
|
|
[Desktop Entry]
|
|
Name=Alfred IDE
|
|
Comment=Sovereign Development Environment
|
|
Exec=xdg-open http://localhost:8443
|
|
Icon=accessories-text-editor
|
|
Type=Application
|
|
Categories=Development;IDE;
|
|
Terminal=false
|
|
StartupNotify=true
|
|
DESK
|
|
chmod +x /etc/skel/Desktop/alfred-ide.desktop
|
|
|
|
# Also add to system applications
|
|
cat > /usr/share/applications/alfred-ide.desktop << 'SYSDESK'
|
|
[Desktop Entry]
|
|
Name=Alfred IDE
|
|
Comment=Sovereign Development Environment
|
|
Exec=xdg-open http://localhost:8443
|
|
Icon=accessories-text-editor
|
|
Type=Application
|
|
Categories=Development;IDE;
|
|
Terminal=false
|
|
StartupNotify=true
|
|
MimeType=text/plain;application/x-shellscript;
|
|
SYSDESK
|
|
|
|
echo "[Alfred Linux v2.0-b3] Alfred IDE integration complete."
|