Files
andwati 36f0caa66e Add modular dev environment installer, dotfiles, and desnap script
Adds a TUI-driven, rollback-capable installer (install/install.sh +
install/modules/*.sh) covering JS/Python/systems toolchains, dev tooling,
browsers, chat apps, GNOME extras, and misc setup (wakatime key, ssh/gpg
perms, apt mirror benchmarking), all sourced from each vendor's official
install method. bootstrap.sh stows the zsh/git/tmux/vscode dotfiles and
runs the installer; desnap.sh purges snapd and replaces default snaps with
apt/Flatpak equivalents.
2026-07-15 17:02:27 +03:00

37 lines
1.0 KiB
Bash

install_cursor() {
if [[ -x /opt/cursor/cursor.AppImage ]]; then
ok "cursor already installed"
return
fi
apt_install libfuse2
local appimage
appimage=$(mktemp --suffix=.AppImage)
curl -fsSL https://downloader.cursor.sh/linux/appImage/x64 -o "$appimage"
chmod +x "$appimage"
track_new_sudo_dir /opt/cursor
sudo mkdir -p /opt/cursor
sudo mv "$appimage" /opt/cursor/cursor.AppImage
sudo ln -sf /opt/cursor/cursor.AppImage /usr/local/bin/cursor
rollback_push "sudo rm -f /usr/local/bin/cursor"
sudo tee /usr/share/applications/cursor.desktop >/dev/null <<'EOF'
[Desktop Entry]
Name=Cursor
Exec=/opt/cursor/cursor.AppImage --no-sandbox %U
Icon=cursor
Terminal=false
Type=Application
Categories=Development;
EOF
rollback_push "sudo rm -f /usr/share/applications/cursor.desktop"
# Reuses vscode.sh's mirror step to symlink settings + install the same
# extensions into the newly-installed Cursor.
# shellcheck disable=SC1090
source "${DOTFILES_DIR:?}/install/modules/vscode.sh"
_vscode_mirror_cursor
}