about summary refs log tree commit diff stats
path: root/sys/boot/default.nix
blob: 625394e8b620e8e07ff76e59a7eaebbd33b829ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{pkgs, ...}: {
  boot = {
    initrd = {
      #compressor = "lz4";
      #compressorArgs = ["-9"];
      kernelModules = ["nvme" "btrfs"];
    };

    kernelPackages = pkgs.linuxPackages_latest;

    lanzaboote = {
      enable = true;
      pkiBundle = "/etc/secureboot";

      settings = {
      };
    };

    loader = {
      systemd-boot = {
        # Lanzaboote currently replaces the systemd-boot module.
        # This setting is usually set to true in configuration.nix
        # generated at installation time. So we force it to false
        # for now.
        enable = false;

        # Disable editing the kernel command line (which could allow someone to become root)
        editor = false;

        extraEntries = {
          "live.conf" = ''
            title Archlinux Live ISO
            linux /live/vmlinuz-linux
            initrd /live/initramfs-linux.img
            options img_loop=/archlinux.iso copytoram
          '';
        };

        extraFiles = let
          iso = import ./archlive_iso.nix {inherit pkgs;};
        in {
          "archlinux.iso" = "${iso}/archlinux.iso";
          "live/initramfs-linux.img" = "${iso}/live/initramfs-linux.img";
          "live/vmlinuz-linux" = "${iso}/live/vmlinuz-linux";
        };
      };

      grub = {
        enable = false;
        # theme = pkgs.nixos-grub2-theme;
        splashImage = ./boot_pictures/gnu.png;
        efiSupport = true;
        device = "nodev"; # only for efi
      };

      efi = {
        canTouchEfiVariables = true;
        efiSysMountPoint = "/boot";
      };
    };
  };
}