| 22 Oct 2023 |
Minijackson | soit utiliser à la main lib.evalModules, mais il va falloir redéfinir des choses (comme par exemple les options assertions que tu utilises dans machines.nix) | 19:44:59 |
Minijackson | un autre soucis que j'ai vu (mais qui pose pas encore problème), c'est ce bout de code:
imports = if config.machineType == "workstation"
then [ ./workstation.nix ] else [ ./server.nix ];
| 19:45:40 |
Minijackson | ce code va causer une récursion infinie, puisque workstation.nix ou server.nix peuvent eux-même changer la valeur de machineType | 19:46:19 |
Minijackson | (interdit d'utiliser les valeurs de config pour les imports) | 19:46:47 |
@victor_mignot:matrix.org | Thanks pour la réponse sur mon problème actuel.
Pour le deuxième, j'ai donc pas le choix que de passer par un element externe à la config ? | 20:08:58 |
Minijackson | soit ça, soit d'utiliser le système de module à la place | 20:18:00 |
Minijackson | grace aux mkIf | 20:18:28 |
Minijackson | tu peux importer les deux fichiers, mais faire en sorte que la config soit appliqué comme ça: mkIf config.machineType == "workstation" { ... } | 20:19:10 |
Minijackson | il y a un peu de doc à ce sujet ici: https://nixos.org/manual/nixos/stable/#sec-option-definitions-delaying-conditionals | 20:21:01 |
@victor_mignot:matrix.org | Effectivement, my bad | 20:21:03 |
Minijackson | je me suis fait avoir plein de fois aussi x) | 20:21:31 |
@victor_mignot:matrix.org | Haha, je veux bien te croire | 20:21:47 |
@victor_mignot:matrix.org | Pour finir, quand tu dis "tout faire évaluer par nixosSystem", j'avoue que je saisis pas trop | 20:22:10 |
@victor_mignot:matrix.org | C'est ce que j'ai l'impression de faire, mais il faut croire que non du coup :') | 20:22:34 |
@victor_mignot:matrix.org | Ha, de trouver un moyen de mettre tous les modules custom définis directement dans les modules (sans chercher à les call à la mano) ? | 20:23:24 |
Minijackson | de ce que je vois, dans ton flake.nix tu as:
machines = (import ./configurations {}).machines;
| 20:23:53 |
@victor_mignot:matrix.org | Yup, c'est ce que je voulais dire par "les call à la mano" | 20:24:23 |
Minijackson | yes | 20:24:32 |
Minijackson | le import à la mano va ignorer l'attribut "options", puisque personne va le lire | 20:24:55 |
@victor_mignot:matrix.org | Effectivement, ça te retourne juste un set dans ce cas là. J'étais pas au courant que c'était pas une construction Nix de base. Après c'est logique vu que tous le code pour les interpreter est dans nixpkgs | 20:25:11 |
@victor_mignot:matrix.org | Donc je pourrais juste songer à faire un truc plus intelligent ou je règlerais plutôt les éléments à passer à modules par des mécanismes du genre, utiliser un fichier différent selon chaque machine (qui porterait son nom par exemple) | 20:27:20 |
Minijackson | je pense que c'est possible, oui | 20:28:12 |
@victor_mignot:matrix.org | Nickel, merci beaucoup pour l'aide, tu me sauve encore une fois haha | 20:28:35 |
Minijackson | pas de soucis ^^ | 20:28:45 |
Minijackson | hésite pas si tu veux plus d'infos | 20:28:58 |
@victor_mignot:matrix.org | J'hésiterais pas, merci encore ! | 20:29:23 |
| 23 Oct 2023 |
| globin joined the room. | 09:52:09 |
| globin set a profile picture. | 14:27:44 |
Pol | Minijackson: "necrobumping" j'ai bien rigole :) | 15:06:31 |
Pol | Minijackson: Est-ce que la PR corrige le probleme que tu rencontres? | 15:06:48 |