mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
nixos/grub: use the correct ZFS version
When `config.boot.zfs.enableUnstable` is set to true, grub was built with the `zfs` package even though the rest of the system uses the `zfsUnstable` package. The effect of this can only be seen when `zfs` and `zfsUnstable` actually differ (which is not currently the case), for example when overriding one of them locally.
This commit is contained in:
parent
a3957236ce
commit
c71cb77cd6
2 changed files with 12 additions and 1 deletions
|
@ -36,7 +36,7 @@ let
|
||||||
# Package set of targeted architecture
|
# Package set of targeted architecture
|
||||||
if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs;
|
if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs;
|
||||||
|
|
||||||
realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; }
|
realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; zfs = cfg.zfsPackage; }
|
||||||
else grubPkgs.grub2;
|
else grubPkgs.grub2;
|
||||||
|
|
||||||
grub =
|
grub =
|
||||||
|
@ -614,6 +614,16 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
zfsPackage = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
internal = true;
|
||||||
|
default = pkgs.zfs;
|
||||||
|
defaultText = literalExpression "pkgs.zfs";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Which ZFS package to use if `config.boot.loader.grub.zfsSupport` is true.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
efiSupport = mkOption {
|
efiSupport = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
|
|
@ -667,6 +667,7 @@ in
|
||||||
# TODO FIXME See https://github.com/NixOS/nixpkgs/pull/99386#issuecomment-798813567. To not break people's bootloader and as probably not everybody would read release notes that thoroughly add inSystem.
|
# TODO FIXME See https://github.com/NixOS/nixpkgs/pull/99386#issuecomment-798813567. To not break people's bootloader and as probably not everybody would read release notes that thoroughly add inSystem.
|
||||||
boot.loader.grub = mkIf (inInitrd || inSystem) {
|
boot.loader.grub = mkIf (inInitrd || inSystem) {
|
||||||
zfsSupport = true;
|
zfsSupport = true;
|
||||||
|
zfsPackage = cfgZfs.package;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.zfs.zed.settings = {
|
services.zfs.zed.settings = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue