nixpkgs/nixos/modules/system
zimbatm 1ea32d4f69 nixos/grub: fix value precendence with optional -> mkIf
When using `lib.optionals`, the return value of both branches of the
condition get set as a value to the option.

When using `lib.mkIf`, only the positive condition gets set as a value
to the option.

This small distinction is important when dealing with precedence. For
example here, we wanted to set a boot.grub.devices default value with
lib.mkDefault, and that was getting overridden with the empty value of
`lib.optional (cfg.device != "") cfg.device`.

See https://github.com/nix-community/srvos/pull/491#discussion_r1738827651

The general conclusion is that using `lib.mkIf` is preferable to
`lib.optional` or `lib.optionals` when setting values in the NixOS
module system.
2024-09-01 12:13:15 +02:00
..
activation Revert "Merge pull request #333952 from r-vdp/specialisation-name-regex" 2024-08-13 21:33:15 -04:00
boot nixos/grub: fix value precendence with optional -> mkIf 2024-09-01 12:13:15 +02:00
etc nixos/etc: unmount old /etc hierarchy lazily 2024-08-22 12:17:20 +02:00
build.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00