| 20 Oct 2023 |
| NinjaTrappeur changed their display name from NinjaTrappeur to PicNoir (was Ninjatrappeur). | 10:34:01 |
symphorien | je suis d'accord que lorri c'est bien | 20:45:39 |
symphorien | même si le projet est assez mort | 20:45:50 |
| 21 Oct 2023 |
| duponin left the room. | 16:41:07 |
| 22 Oct 2023 |
Julien Malka | Hello hello | 15:11:27 |
Julien Malka | Prochain meetup à l'ENS lundi 30 octobre à 19h | 15:12:01 |
Julien Malka | https://discourse.nixos.org/t/nix-parisian-meetup-october-30/34438 | 15:12:02 |
bew | In reply to @julienmalka:matrix.org Prochain meetup à l'ENS lundi 30 octobre à 19h Sur Mobilizon l'event est à 20h et non 19h. Typo ? | 15:33:55 |
Julien Malka | Ah, merci | 15:35:55 |
Julien Malka | Nan juste j'ai créé l'event depuis une autre timezone | 15:36:07 |
Julien Malka | Fixed, thanks | 15:37:35 |
@victor_mignot:matrix.org | Bonjour ici ! Je suis entrain de tenter de faire une config NixOS sous forme de flake commune à toutes mes machines. Mon objectif ici est de passer par un ensemble de modules custom, et de définir les configs de machines quasi-exclusivement avec les options que ces modules déclarent. Comme j'ai pas envie de faire de modules spécifiques pour home-manager, et que j'aimerais que l'ensemble des informations pour une machine soit défini dans un seul et unique fichier, cela complique un peu la tâche (même fichier/module importé plusieurs fois pour définir la configuration). J'ai toutefois une jolie erreur quand j'essaie un petit nix flake check qui semble globalement dire qu'il n'arrive pas à récupérer l'option de mes modules custom lors de son ajout dans le paramètre modules de la fonctionnixosSystem. J'avoue que je me gratte la tête depuis quelques heures (ça m'étonnerait pas que ça soit lié à une erreur débile de ma part). Comme je n'ai pas d'autres utilisateurs de Nix dans mon entourage, si quelqu'un a quelques minutes à m'accorder pour me filer un coup de main, ça m'aiderait vraiment beaucoup !
Voici le lien du repo: https://git.sr.ht/~dala/nixos-flake-config
Trigger warning: j'ai assez peu d'expérience avec Nix et essaye juste de faire les choses selon la doc et ce que je comprends du code de nixpkgs. Il y a certainement des choses qui vont vous piquer les yeux (je prend vos retours si y'a moyen de faire les choses plus proprement). Merci d'avance !
| 15:52:22 |
Minijackson | hey, j'ai regardé un peu, et je pense avoir trouvé 2 soucis | 19:41:36 |
Minijackson | le principal, c'est que le concept des modules comme ceci sont des concepts de NixOS et pas du langage Nix:
{
imports = [ ... ];
options = ...;
config = ...;
}
| 19:42:22 |
Minijackson | du coup, si tu importe un fichier comme ceci avec un import comme fait dans ton flake.nix, ça va juste retourner un objet avec imports, options, et config, sans plus | 19:43:05 |
Minijackson | si tu veux utiliser un système d'option, il faut soit passer par une configuration NixOS (le plus simple), en évaluant tout par lib.nixosSystem) | 19:43:50 |
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 |