f77f5b1131
- Simplified flake.nix to focus only on packaging Cursor - Removed system configuration files (archived locally) - Updated to clean, reusable flake structure - Added simple update-cursor.sh script - Updated documentation for new structure This migration makes the flake purely focused on providing the Cursor package.
94 lines
2.8 KiB
Markdown
94 lines
2.8 KiB
Markdown
# Migration to Clean Package-Only Structure
|
|
|
|
## ✅ Migration Complete
|
|
|
|
The cursor-flake repository has been successfully migrated from a complex system configuration flake to a clean, focused package-only flake.
|
|
|
|
## 📁 New Structure
|
|
|
|
```
|
|
cursor-flake/
|
|
├── flake.nix # 🎯 Clean package-only flake
|
|
├── flake.lock # Flake lock file
|
|
├── update-cursor.sh # 🔄 Simple update script
|
|
├── README.md # Updated documentation
|
|
├── LICENSE # MIT License
|
|
└── archive-old-system-configs/ # 📦 Archived old files
|
|
├── configuration.nix # (old system config)
|
|
├── home.nix # (old home-manager config)
|
|
├── flake-old-complex.nix # (old complex flake)
|
|
├── update-cursor-hash.sh # (old complex update script)
|
|
└── ... # (other archived files)
|
|
```
|
|
|
|
## 🚀 How to Use
|
|
|
|
### Build Cursor Package
|
|
```bash
|
|
nix build .#cursor
|
|
./result/bin/cursor --version # Should show: 1.5.5
|
|
```
|
|
|
|
### Update to New Version
|
|
```bash
|
|
./update-cursor.sh "https://downloads.cursor.com/production/[hash]/linux/x64/Cursor-1.6.0-x86_64.AppImage"
|
|
```
|
|
|
|
### Use in Your NixOS System
|
|
Add to your main system flake:
|
|
```nix
|
|
cursor-flake = {
|
|
url = "github:yourusername/cursor-flake"; # or "path:/path/to/cursor-flake" for local
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
```
|
|
|
|
Then use:
|
|
```nix
|
|
environment.systemPackages = [
|
|
cursor-flake.packages.x86_64-linux.cursor
|
|
];
|
|
```
|
|
|
|
## 🆚 What Changed
|
|
|
|
### Before (Complex Structure)
|
|
- ❌ Mixed package + system configuration
|
|
- ❌ Required `nixos-rebuild switch` for testing
|
|
- ❌ Risk of breaking system during updates
|
|
- ❌ Inconsistent with other flakes
|
|
- ❌ Complex update process
|
|
|
|
### After (Clean Structure)
|
|
- ✅ Pure package management
|
|
- ✅ Simple `nix build .#cursor` testing
|
|
- ✅ No system breaking risk
|
|
- ✅ Consistent with ollama-nixos-flake pattern
|
|
- ✅ Simple update workflow
|
|
|
|
## 🔧 Benefits
|
|
|
|
1. **Safety**: No more system crashes during updates
|
|
2. **Simplicity**: Focused on just packaging Cursor
|
|
3. **Reusability**: Easy to integrate into any NixOS system
|
|
4. **Consistency**: Matches your other package flakes
|
|
5. **Maintainability**: Much less code to maintain
|
|
|
|
## 📦 Archive
|
|
|
|
All old system configuration files have been preserved in `archive-old-system-configs/` for reference, including:
|
|
- The old complex `flake.nix`
|
|
- System configuration files
|
|
- Home manager configuration
|
|
- Old update scripts
|
|
|
|
## ✨ Current Status
|
|
|
|
- **Cursor Version**: 1.5.5
|
|
- **Structure**: Clean package-only flake
|
|
- **Update Script**: `./update-cursor.sh`
|
|
- **Build Test**: ✅ Working
|
|
- **Version Test**: ✅ Working (reports 1.5.5)
|
|
|
|
The migration is complete and the flake is ready for production use! 🎉
|