Contexte
Le generateur supporte 7 distros, mais deux distributions majeures manquent :
- NixOS — gestionnaire
nix, approche declarative, incompatible avec le concept de script bash
- Gentoo — gestionnaire
emerge, format emerge --ask <package>, compilation from source
Approche proposee
- Gentoo — ajout simple :
content/distros/gentoo.json + mapper les package_names dans les programmes
- NixOS — mode special « NixOS snippet » qui genere un fragment
configuration.nix au lieu d'un script bash, ou un contournement avec nix-shell -p
Fichiers a creer/modifier
content/distros/gentoo.json (nouveau)
content/distros/nixos.json (nouveau)
program.json pour chaque programme : ajouter les cles gentoo et nixos
- Optionnel : adapter
ScriptGenerator pour le mode NixOS declaratif
Defis
- NixOS : 161 scripts
CUSTOM_INSTALL utilisent des commandes imperatives (apt, cargo, etc.) qui n'ont pas d'equivalent direct en Nix. Il faudrait soit les wrapper dans nix-shell, soit creer des install.sh alternatifs pour NixOS.
- Gentoo : les noms de paquets peuvent differer (USE flags, slots). Une approche conservative serait de n'utiliser que
CUSTOM_INSTALL pour Gentoo et laisser les utilisateurs avances remplir les noms de paquets emerge.
Contexte
Le generateur supporte 7 distros, mais deux distributions majeures manquent :
nix, approche declarative, incompatible avec le concept de script bashemerge, formatemerge --ask <package>, compilation from sourceApproche proposee
content/distros/gentoo.json+ mapper lespackage_namesdans les programmesconfiguration.nixau lieu d'un script bash, ou un contournement avecnix-shell -pFichiers a creer/modifier
content/distros/gentoo.json(nouveau)content/distros/nixos.json(nouveau)program.jsonpour chaque programme : ajouter les clesgentooetnixosScriptGeneratorpour le mode NixOS declaratifDefis
CUSTOM_INSTALLutilisent des commandes imperatives (apt, cargo, etc.) qui n'ont pas d'equivalent direct en Nix. Il faudrait soit les wrapper dansnix-shell, soit creer desinstall.shalternatifs pour NixOS.CUSTOM_INSTALLpour Gentoo et laisser les utilisateurs avances remplir les noms de paquets emerge.