hardwareRoles #26

Merged
Gonne merged 1 commit from Gonne/nixConfig:hardwareRoles into main 2024-02-08 05:59:01 +00:00
Owner

Not sure, if this is structurally the right way. Furthermore I'm not yet sure about the right way to use this. But currently neither this branch nor https://gitea.mathebau.de/Gonne/nixConfig/src/branch/bragi builds.

Not sure, if this is structurally the right way. Furthermore I'm not yet sure about the right way to use this. But currently neither this branch nor https://gitea.mathebau.de/Gonne/nixConfig/src/branch/bragi builds.
Gonne added 2 commits 2023-12-18 16:58:43 +00:00
Gonne changed title from hardwareRoles to WIP: hardwareRoles 2023-12-18 17:02:28 +00:00
Gonne force-pushed hardwareRoles from 0e1c7651a7 to b42a20fbb8 2023-12-19 10:25:51 +00:00 Compare
Gonne force-pushed hardwareRoles from b42a20fbb8 to 72823c5e7d 2023-12-19 10:39:52 +00:00 Compare
Gonne force-pushed hardwareRoles from 72823c5e7d to b354be1529 2023-12-19 10:40:37 +00:00 Compare
Author
Owner

Seems like we can't do conditional imports (https://discourse.nixos.org/t/conditional-module-imports/34863) and the “right” way is to have a module that is imported and can be enabled afterwards.
Unfortunately, our Xen-DomU config is not a module while lying in the “modules” folder.

I see several ways forward:

  1. Write our own modules for hardware vs. vm installations.
    We likely need one for hardware anyways.
  2. Motivate the NixOS-people to modify the DomU config to be a module.
  3. Hack something else together that I don't know about.
Seems like we can't do conditional imports (https://discourse.nixos.org/t/conditional-module-imports/34863) and the “right” way is to have a module that is imported and can be enabled afterwards. Unfortunately, our [Xen-DomU](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/xen-domU.nix) config is not a module while lying in the “modules” folder. I see several ways forward: 1. Write our own modules for hardware vs. vm installations. We likely need one for hardware anyways. 2. Motivate the NixOS-people to modify the DomU config to be a module. 3. Hack something else together that I don't know about.
Gonne force-pushed hardwareRoles from b354be1529 to 511243fcbf 2023-12-19 12:43:55 +00:00 Compare
Member

Ja, das mit den module imports ist ein bisschen nervig.

Was mich ein bisschen beruhigt hat ist die Perspektive, dass das Modulsystem das ist, was nixos ein bisschen typsicher gibt. Aber ein Modul kann natürlich nur überprüft werden, wenn es auch geladen wird. Auch disablete Module optionen werden evaluiert sodass manche Problem früher entdeckt werden können.

Für hardware.nix könnte man halt einfach mit einer Moduloption arbeiten, aber das geht bei vm.nix nicht, weil das ja selber wieder einen include macht.

Ich würde empfehlen einfach in der configuration.nix von den System wo es gebraucht wird das vm.nix zu importieren und in anderen nicht.

Alternativ könnte man die default.nix in eine Funktion wrappen, die parameter übernimmt, die nicht durch das modulesystem gehen.

Also vm: { pkgs, ... das kann man dann mit imports = [ (import ./. true) ] laden. In imports darf nämlich jede expression stehen die zu einem Module evaluiert und nicht nur Dateinamen.

Ja, das mit den module imports ist ein bisschen nervig. Was mich ein bisschen beruhigt hat ist die Perspektive, dass das Modulsystem das ist, was nixos ein bisschen typsicher gibt. Aber ein Modul kann natürlich nur überprüft werden, wenn es auch geladen wird. Auch disablete Module optionen werden evaluiert sodass manche Problem früher entdeckt werden können. Für hardware.nix könnte man halt einfach mit einer Moduloption arbeiten, aber das geht bei vm.nix nicht, weil das ja selber wieder einen include macht. Ich würde empfehlen einfach in der configuration.nix von den System wo es gebraucht wird das vm.nix zu importieren und in anderen nicht. Alternativ könnte man die default.nix in eine Funktion wrappen, die parameter übernimmt, die nicht durch das modulesystem gehen. Also `vm: { pkgs, ...` das kann man dann mit `imports = [ (import ./. true) ]` laden. In imports darf nämlich jede expression stehen die zu einem Module evaluiert und nicht nur Dateinamen.
Gonne force-pushed hardwareRoles from 511243fcbf to 45d0ef262f 2023-12-21 11:13:33 +00:00 Compare
Author
Owner

Ich würde empfehlen einfach in der configuration.nix von den System wo es gebraucht wird das vm.nix zu importieren und in anderen nicht.

Danke. Ich habe das jetzt erstmal umgesetzt.

> Ich würde empfehlen einfach in der configuration.nix von den System wo es gebraucht wird das vm.nix zu importieren und in anderen nicht. Danke. Ich habe das jetzt erstmal umgesetzt.
Gonne changed title from WIP: hardwareRoles to hardwareRoles 2023-12-21 11:28:57 +00:00
Gonne requested review from Server-Minions 2023-12-21 11:29:12 +00:00
nerf requested changes 2024-01-07 12:40:32 +00:00
nerf left a comment
Owner

nix flake check, that is also automated with nix fmt

`nix flake check`, that is also automated with `nix fmt`
Gonne force-pushed hardwareRoles from 45d0ef262f to 4a65723e05 2024-01-08 08:53:34 +00:00 Compare
Gonne force-pushed hardwareRoles from 4a65723e05 to d68f6bf45f 2024-01-08 08:58:26 +00:00 Compare
Gonne force-pushed hardwareRoles from d68f6bf45f to 4197474fec 2024-01-08 14:32:43 +00:00 Compare
Author
Owner

Done. Also added a comment and removed obsolete commented option for efi variables.

Done. Also added a comment and removed obsolete commented option for efi variables.
Gonne requested review from nerf 2024-01-08 14:37:40 +00:00
Gonne requested review from Server-Minions 2024-02-02 07:46:35 +00:00
nerf approved these changes 2024-02-07 18:09:06 +00:00
Gonne merged commit 4197474fec into main 2024-02-08 05:59:01 +00:00
Gonne deleted branch hardwareRoles 2024-02-08 05:59:02 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Fachschaft/nixConfig#26
No description provided.