Commit 139bfb5b authored by Raito Bezarius's avatar Raito Bezarius
Browse files

nixos/system/activation/bootspec: generalize the bootspec tooling package

After RFC-0125 implementation, Determinate Systems was pinged multiple
times to transfer the repository ownership of the tooling to a
vendor-neutral repository.

Unfortunately, this never manifested. Additionally, the leadership of
the NixOS project was too dysfunctional to deal with this sort of
problem. It might even still be the case up to this day.

Nonetheless, nixpkgs is about enabling end users to enact their own
policies. It would be better to live in a world where there is one
obvious choice of bootspec tooling, in the meantime, we can live in a
world where people can choose their bootspec tooling.

The Lix forge possess one fork of the Bootspec tooling:
https://git.lix.systems/lix-community/bootspec

 which will live its own
life from now on.

Change-Id: I00c4dd64e00b4c24f6641472902e7df60ed13b55
Signed-off-by: default avatarRaito Bezarius <masterancpp@gmail.com>
parent 0d7d18dd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -111,6 +111,8 @@ in
            Enable this option if you want to ascertain that your documents are correct
    '';

    package = lib.mkPackageOption pkgs "bootspec" { };

    extensions = lib.mkOption {
      # NOTE(RaitoBezarius): this is not enough to validate: extensions."osRelease" = drv; those are picked up by cue validation.
      type = lib.types.attrsOf lib.types.anything; # <namespace>: { ...namespace-specific fields }
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ let

      systemd = config.systemd.package;

      bootspecTools = pkgs.bootspec;
      bootspecTools = config.boot.bootspec.package;

      nix = config.nix.package.out;

+88 −86
Original line number Diff line number Diff line
@@ -680,7 +680,9 @@ let
        in
        {
          # The configuration of the system used to run "nixos-install".
          installer = {
          installer =
            { config, ... }:
            {
              imports = [
                commonConfig
                ../modules/profiles/installation-device.nix
@@ -701,8 +703,8 @@ let
              virtualisation.emptyDiskImages = [ 512 ];
              virtualisation.rootDevice = "/dev/vdb";

            hardware.enableAllFirmware = mkForce false;
              nix.package = selectNixPackage pkgs;
              hardware.enableAllFirmware = mkForce false;

              # The test cannot access the network, so any packages we
              # need must be included in the VM.
@@ -758,7 +760,7 @@ let
                ++ optionals (bootLoader == "systemd-boot") [
                  pkgs.zstd.bin
                  pkgs.mypy
                pkgs.bootspec
                  config.boot.bootspec.package
                ]
                ++ optionals clevisTest [ pkgs.klibc ]
                ++ optional systemdStage1 pkgs.chroot-realpath;