···13 if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs;
1415 realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; }
16- else if cfg.trustedBoot.enable
17- then if cfg.trustedBoot.isHPLaptop
18- then grubPkgs.trustedGrub-for-HP
19- else grubPkgs.trustedGrub
20- else grubPkgs.grub2;
2122 grub =
23 # Don't include GRUB if we're only generating a GRUB menu (e.g.,
···674 '';
675 };
676677- trustedBoot = {
678-679- enable = mkOption {
680- default = false;
681- type = types.bool;
682- description = lib.mdDoc ''
683- Enable trusted boot. GRUB will measure all critical components during
684- the boot process to offer TCG (TPM) support.
685- '';
686- };
687-688- systemHasTPM = mkOption {
689- default = "";
690- example = "YES_TPM_is_activated";
691- type = types.str;
692- description = lib.mdDoc ''
693- Assertion that the target system has an activated TPM. It is a safety
694- check before allowing the activation of 'trustedBoot.enable'. TrustedBoot
695- WILL FAIL TO BOOT YOUR SYSTEM if no TPM is available.
696- '';
697- };
698-699- isHPLaptop = mkOption {
700- default = false;
701- type = types.bool;
702- description = lib.mdDoc ''
703- Use a special version of TrustedGRUB that is needed by some HP laptops
704- and works only for the HP laptops.
705- '';
706- };
707-708- };
709-710 };
711712 };
···783 message = "You cannot have duplicated devices in mirroredBoots";
784 }
785 {
786- assertion = !cfg.efiSupport || !cfg.trustedBoot.enable;
787- message = "Trusted GRUB does not have EFI support";
788- }
789- {
790- assertion = !cfg.zfsSupport || !cfg.trustedBoot.enable;
791- message = "Trusted GRUB does not have ZFS support";
792- }
793- {
794- assertion = !cfg.trustedBoot.enable || cfg.trustedBoot.systemHasTPM == "YES_TPM_is_activated";
795- message = "Trusted GRUB can break the system! Confirm that the system has an activated TPM by setting 'systemHasTPM'.";
796- }
797- {
798 assertion = cfg.efiInstallAsRemovable -> cfg.efiSupport;
799 message = "If you wish to to use boot.loader.grub.efiInstallAsRemovable, then turn on boot.loader.grub.efiSupport";
800 }
···841 (mkRenamedOptionModule [ "boot" "grubDevice" ] [ "boot" "loader" "grub" "device" ])
842 (mkRenamedOptionModule [ "boot" "bootMount" ] [ "boot" "loader" "grub" "bootDevice" ])
843 (mkRenamedOptionModule [ "boot" "grubSplashImage" ] [ "boot" "loader" "grub" "splashImage" ])
0000844 (mkRemovedOptionModule [ "boot" "loader" "grub" "extraInitrd" ] ''
845 This option has been replaced with the bootloader agnostic
846 boot.initrd.secrets option. To migrate to the initrd secrets system,
···13 if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs;
1415 realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; }
16+ else grubPkgs.grub2;
00001718 grub =
19 # Don't include GRUB if we're only generating a GRUB menu (e.g.,
···670 '';
671 };
672000000000000000000000000000000000673 };
674675 };
···746 message = "You cannot have duplicated devices in mirroredBoots";
747 }
748 {
000000000000749 assertion = cfg.efiInstallAsRemovable -> cfg.efiSupport;
750 message = "If you wish to to use boot.loader.grub.efiInstallAsRemovable, then turn on boot.loader.grub.efiSupport";
751 }
···792 (mkRenamedOptionModule [ "boot" "grubDevice" ] [ "boot" "loader" "grub" "device" ])
793 (mkRenamedOptionModule [ "boot" "bootMount" ] [ "boot" "loader" "grub" "bootDevice" ])
794 (mkRenamedOptionModule [ "boot" "grubSplashImage" ] [ "boot" "loader" "grub" "splashImage" ])
795+ (mkRemovedOptionModule [ "boot" "loader" "grub" "trustedBoot" ] ''
796+ Support for Trusted GRUB has been removed, because the project
797+ has been retired upstream.
798+ '')
799 (mkRemovedOptionModule [ "boot" "loader" "grub" "extraInitrd" ] ''
800 This option has been replaced with the bootloader agnostic
801 boot.initrd.secrets option. To migrate to the initrd secrets system,
···1657 trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned";
1658 trilium = throw "trilium has been removed. Please use trilium-desktop instead"; # Added 2020-04-29
1659 truecrypt = throw "'truecrypt' has been renamed to/replaced by 'veracrypt'"; # Converted to throw 2022-02-22
001660 tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
1661 turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
1662 tvbrowser-bin = tvbrowser; # Added 2023-03-02
···1657 trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned";
1658 trilium = throw "trilium has been removed. Please use trilium-desktop instead"; # Added 2020-04-29
1659 truecrypt = throw "'truecrypt' has been renamed to/replaced by 'veracrypt'"; # Converted to throw 2022-02-22
1660+ trustedGrub = throw "trustedGrub has been removed, because it is not maintained upstream anymore"; # Added 2023-05-10
1661+ trustedGrub-for-HP = throw "trustedGrub-for-HP has been removed, because it is not maintained upstream anymore"; # Added 2023-05-10
1662 tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
1663 turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
1664 tvbrowser-bin = tvbrowser; # Added 2023-03-02