mirror of
https://github.com/abusoww/tuxmate.git
synced 2026-04-17 15:53:24 +02:00
docs: update readme, roadmap, and unfree guidelines ref #35
This commit is contained in:
@@ -257,6 +257,7 @@ TuxMate uses the [Iconify API](https://iconify.design/) for icons. Icon helpers
|
||||
- [ ] Ubuntu/Debian packages are in **Main/Universe only** (no PPAs)
|
||||
- [ ] Flatpak uses **full App ID** from [Flathub](https://flathub.org/)
|
||||
- [ ] Snap packages checked for `--classic` requirement
|
||||
- [ ] Nix packages checked for unfree license (add to `KNOWN_UNFREE_PACKAGES` if needed)
|
||||
- [ ] Homebrew uses correct format: `'formula'` for CLI, `'--cask name'` for GUI apps
|
||||
|
||||
### Code Quality
|
||||
@@ -436,12 +437,30 @@ src/lib/
|
||||
├── ubuntu.ts # Ubuntu apt + PPA handling
|
||||
├── fedora.ts # Fedora dnf + RPM Fusion
|
||||
├── opensuse.ts # openSUSE zypper
|
||||
├── nix.ts # Nix package manager
|
||||
├── nix.ts # Nix declarative config generator
|
||||
├── flatpak.ts # Flatpak (parallel install)
|
||||
├── snap.ts # Snap packages
|
||||
└── homebrew.ts # Homebrew (formulae + casks)
|
||||
```
|
||||
|
||||
### Nix Unfree Packages
|
||||
|
||||
When adding Nix packages, check if they require `allowUnfree = true`. Unfree packages are detected in [`src/lib/nixUnfree.ts`](src/lib/nixUnfree.ts).
|
||||
|
||||
**Known unfree packages** (add new ones to `KNOWN_UNFREE_PACKAGES`):
|
||||
- Communication: `discord`, `slack`, `zoom-us`, `teams`, `skypeforlinux`
|
||||
- Browsers: `google-chrome`, `vivaldi`, `opera`
|
||||
- Media: `spotify`
|
||||
- Gaming: `steam`
|
||||
- Dev: `vscode`, `sublime-text`, `postman`, `code-cursor`, `vagrant`, JetBrains IDEs
|
||||
- Creative: `davinci-resolve`
|
||||
- Other: `obsidian`, `dropbox`, `1password`
|
||||
|
||||
**How it works:**
|
||||
1. User selects unfree packages with Nix distro
|
||||
2. UI shows amber warning listing affected apps
|
||||
3. Downloaded `configuration.nix` includes comment with `allowUnfree` instructions
|
||||
|
||||
### Script Generator Features
|
||||
|
||||
Each script generator implements these core capabilities:
|
||||
|
||||
@@ -25,7 +25,7 @@ Fresh install? New machine? Can't remember every package name? We've all been th
|
||||
- Arch Linux (pacman + AUR)
|
||||
- Fedora (dnf)
|
||||
- openSUSE (zypper)
|
||||
- Nix (nix-env)
|
||||
- Nix (declarative config)
|
||||
- Flatpak
|
||||
- Snap
|
||||
- Homebrew (macOS + Linux)
|
||||
@@ -38,6 +38,7 @@ Fresh install? New machine? Can't remember every package name? We've all been th
|
||||
### **Smart Script Generation**
|
||||
- Detects already-installed packages
|
||||
- Handles AUR packages automatically on Arch
|
||||
- **Nix Unfree Detection**: Warns compliant configuration for unfree packages (Discord, Spotify, etc.)
|
||||
- Homebrew formula/cask separation for macOS
|
||||
- Parallel installation for Flatpak
|
||||
- Network retry with exponential backoff
|
||||
@@ -237,6 +238,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
|
||||
- [x] Package availability indicators (including AUR badges)
|
||||
- [x] Homebrew support (macOS + Linux)
|
||||
- [x] PWA support for offline use
|
||||
- [x] Nix configuration.nix download with unfree package detection
|
||||
|
||||
|
||||
|
||||
@@ -247,7 +249,6 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
|
||||
- [ ] Custom presets / profiles
|
||||
- [ ] Share configurations via URL
|
||||
- [ ] More distros (FreeBSD, Gentoo, Void, Alpine)
|
||||
- [ ] Nix configuration.nix download
|
||||
- [ ] i18n / Multi-language support
|
||||
- [ ] Companion CLI tool
|
||||
- [ ] Expand application catalog (200+)
|
||||
|
||||
Reference in New Issue
Block a user