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.
This commit is contained in:
Léana 江
2026-04-04 10:15:39 +02:00
parent f27940eda0
commit 450c46303f
4 changed files with 35 additions and 3 deletions

View File

@@ -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'))

View File

@@ -432,6 +432,7 @@ in
replacements = {
python3 = pkgs.python3.withPackages (python-packages: [ python-packages.psutil ]);
configPath = limineInstallConfig;
inherit (config.system.nixos) distroName;
};
};
};

View File

@@ -8,4 +8,5 @@
secureBoot = runTest ./secure-boot.nix;
specialisations = runTest ./specialisations.nix;
uefi = runTest ./uefi.nix;
distroName = runTest ./distroName.nix;
}

View File

@@ -0,0 +1,30 @@
{ 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")
'';
}