Unverified Commit 450c4630 authored by Léana 江's avatar Léana 江
Browse files

nixos/limine: show config.system.nixos.distroName value in menu

Previously the entry section always shows "NixOS".
Now it would show the value configured in config.system.nixos.distroName.
parent f27940ed
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -492,12 +492,12 @@ def install_bootloader() -> None:
    config_file += option_from_config('term_margin_gradient', ['style', 'graphicalTerminal', 'marginGradient'])

    config_file += textwrap.dedent('''
        # NixOS boot entries start here
        # @distroName@ boot entries start here
    ''')

    for (profile, gens) in profiles:
        group_name = 'default profile' if profile == 'system' else f"profile '{profile}'"
        config_file += f'/+NixOS {group_name}\n'
        config_file += f'/+@distroName@ {group_name}\n'

        isFirst = True

@@ -506,7 +506,7 @@ def install_bootloader() -> None:
            isFirst = False

    config_file_path = os.path.join(limine_install_dir, 'limine.conf')
    config_file += '\n# NixOS boot entries end here\n\n'
    config_file += '\n# @distroName@ boot entries end here\n\n'

    config_file += str(config('extraEntries'))

+1 −0
Original line number Diff line number Diff line
@@ -432,6 +432,7 @@ in
          replacements = {
            python3 = pkgs.python3.withPackages (python-packages: [ python-packages.psutil ]);
            configPath = limineInstallConfig;
            inherit (config.system.nixos) distroName;
          };
        };
      };
+1 −0
Original line number Diff line number Diff line
@@ -8,4 +8,5 @@
  secureBoot = runTest ./secure-boot.nix;
  specialisations = runTest ./specialisations.nix;
  uefi = runTest ./uefi.nix;
  distroName = runTest ./distroName.nix;
}
+30 −0
Original line number Diff line number Diff line
{ pkgs, ... }:
{
  name = "distroName";
  meta = {
    inherit (pkgs.limine.meta) maintainers;
  };

  nodes.machine =
    { ... }:
    {
      virtualisation.useBootLoader = true;
      virtualisation.useEFIBoot = true;

      boot.loader.efi.canTouchEfiVariables = true;
      boot.loader.limine.enable = true;
      boot.loader.limine.efiSupport = true;
      boot.loader.timeout = 0;

      system.nixos.distroName = "BestDistroEver";
    };

  testScript = /* python */ ''
    machine.start()
    with subtest('Machine boots correctly'):
      machine.wait_for_unit('multi-user.target')

    machine.succeed("grep \"BestDistroEver\" /boot/limine/limine.conf")
    machine.fail("grep \"NixOS\" /boot/limine/limine.conf")
  '';
}