Migrate to clean package-only structure
- 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.
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# 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! 🎉
|
||||
Reference in New Issue
Block a user