# grok-bot-bin Unofficial Arch / CachyOS package of the official [Grok Bot](https://cursor.com/download/bot) `.deb`. Temporary until upstream packages for Arch. Not affiliated with Cursor / SpaceXAI. The app binary is unchanged; this only repacks it for `pacman`. ## Install (build locally) ```bash git clone https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin.git cd grok-bot-bin makepkg -si ``` With an AUR helper against this git URL: ```bash paru -S grok-bot-bin --aururl https://git.s1d3sw1ped.com # or: yay -S grok-bot-bin # after cloning locally / using a custom AUR mirror ``` Simplest reliable path on CachyOS today: ```bash makepkg -si ``` ## Install from a release package When CI has published a `.pkg.tar.zst` on the [Releases](https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin/releases) page: ```bash curl -LO 'https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin/releases/download/v0.30.0/grok-bot-bin-0.30.0-1-x86_64.pkg.tar.zst' sudo pacman -U grok-bot-bin-0.30.0-1-x86_64.pkg.tar.zst ``` Download first, then `pacman -U` the local file (`LocalFileSigLevel = Optional`). Do not pass the remote URL straight to pacman if signatures are required. ## Custom pacman repo (optional) After CI publishes a repo database under Releases (or Packages), add to `/etc/pacman.conf`: ```ini [grok-bot] SigLevel = Optional TrustAll Server = https://git.s1d3sw1ped.com/s1d3sw1ped/grok-bot-bin/releases/latest/download ``` Exact `Server=` URL may change once the first repo DB lands; `makepkg -si` works regardless. ## Updating `./scripts/update.sh` reads Cursor's linux-x64 update feed, downloads the matching `.deb`, and bumps `pkgver` / `_commit` / `sha256sums` in `PKGBUILD` and `.SRCINFO`. Scheduled Gitea Actions will do the same and build a release package. ## Notes - `/usr/bin/grok-bot` (and `sand`) is a launch shim: unless `GROK_BOT_NO_UPDATE=1`, it checks the latest Gitea release and may `pacman -U` a newer `.pkg.tar.zst` before exec'ing `/opt/Grok Bot/…`. Network/API failures still launch the installed binary. - Upstream Linux builds still have no in-app updater for the Electron app itself; `scripts/update.sh` bumps the PKGBUILD from Cursor's feed when packaging a new upstream version. - `chrome-sandbox` is left non-setuid because the install path contains a space; user namespaces cover sandboxing on CachyOS.