!ZUiNnfpRqQMDrPLChM:nixos.org

Nix ♥ la francophonie

213 Members
Salon francographe de NixOS70 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
22 Oct 2023
@bew:matrix.orgbew
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
@julienmalka:matrix.orgJulienAh, merci15:35:55
@julienmalka:matrix.orgJulienNan juste j'ai créé l'event depuis une autre timezone15:36:07
@julienmalka:matrix.orgJulienFixed, thanks15:37:35
@victor_mignot:matrix.org@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:matrix.orgMinijacksonhey, j'ai regardé un peu, et je pense avoir trouvé 2 soucis19:41:36
@Minijackson:matrix.orgMinijackson

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:matrix.orgMinijackson 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:matrix.orgMinijackson 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:matrix.orgMinijackson 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:matrix.orgMinijackson

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:matrix.orgMinijackson 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

Show newer messages


Back to Room ListRoom Version: 6