Files
cursor-nixos-flake/README.md
T
TudorAndrei 536b9d4b53 update
2025-10-08 17:05:57 +03:00

118 lines
2.6 KiB
Markdown

# Self-Updating Cursor Flake
A Nix flake that provides the Cursor code editor with automatic daily updates via GitHub Actions.
## Features
- 🚀 **Self-updating**: Automatically checks for new Cursor versions daily
- 🔧 **Manual updates**: Local script for immediate updates
- 🛡️ **Robust**: Proper error handling and fallbacks
- 📦 **AppImage-based**: Uses Cursor's official AppImage for maximum compatibility
- 🎯 **Linux x86_64**: Optimized for Linux AMD64 architecture
## Quick Start
### Method 1: Direct Installation
```bash
# Install Cursor directly
nix profile install github:your-username/cursor-nixos-flake
# Run Cursor
cursor --version
```
### Method 2: Add to Your Flake
Add to your `flake.nix` inputs:
```nix
inputs.cursor.url = "github:your-username/cursor-nixos-flake";
```
Then use in your configuration:
```nix
# For NixOS system configuration
environment.systemPackages = with pkgs; [
cursor.packages.x86_64-linux.cursor
];
# For home-manager
home.packages = with pkgs; [
cursor.packages.x86_64-linux.cursor
];
# For devShell
devShells.default = pkgs.mkShell {
packages = with pkgs; [
cursor.packages.x86_64-linux.cursor
];
};
```
### Method 3: Temporary Run
```bash
# Run without installing
nix run github:your-username/cursor-nixos-flake
# Build and run
nix build github:your-username/cursor-nixos-flake
./result/bin/cursor
```
## Manual Update
To manually update Cursor to the latest version:
```bash
./update-cursor.sh
```
To update to a specific version:
```bash
./update-cursor.sh 1.8.0
```
## How It Works
### Automatic Updates
The GitHub Actions workflow runs daily and:
1. Checks Cursor's API for the latest version
2. Only updates if a new version is available
3. Downloads the AppImage and calculates SHA256 hash
4. Updates `flake.nix` with new version and hash
5. Tests the build and commits changes
6. Creates a GitHub release for tracking
### Manual Updates
The `update-cursor.sh` script provides:
- Version checking and comparison
- Safe updates with backups
- Build validation
- Interactive confirmation prompts
## API Endpoints
- **AppImage Download**: `https://api2.cursor.sh/updates/download/golden/linux-x64/cursor/{version}`
## Testing
```bash
# Test the complete setup
./test-setup.sh
# Test flake syntax
nix flake check
# Test building
nix build '.#cursor' --dry-run
```
## Development
### Customization
- **Update frequency**: Modify cron schedule in `.github/workflows/update-cursor.yml`
- **API endpoints**: Update URLs in workflow and update script
- **Build options**: Modify the `buildCursor` function in `flake.nix`
## License
MIT License - see [LICENSE](LICENSE) file for details.