diff options
author | Luke Granger-Brown <git@lukegb.com> | 2021-01-03 18:29:34 +0000 |
---|---|---|
committer | Luke Granger-Brown <git@lukegb.com> | 2021-10-31 11:36:15 +0000 |
commit | 13fad0f81b2bd50fd421bd5856a35f1f7c032257 (patch) | |
tree | 9d307c4aaf5a05bc53f864e2b8ed38bc3f45308d /nixos/tests/systemd-boot.nix | |
parent | 052231cf798f01507be526d8c97772a0b54b9407 (diff) |
nixos/systemd-boot: create boot entries for specialisations
Some specialisations (such as those which affect various boot-time attributes) cannot be switched to at runtime. This allows picking the specialisation at boot time.
Diffstat (limited to 'nixos/tests/systemd-boot.nix')
-rw-r--r-- | nixos/tests/systemd-boot.nix | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 3c93cb82d646d..ae3727afaf691 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -39,6 +39,29 @@ in ''; }; + # Check that specialisations create corresponding boot entries. + specialisation = makeTest { + name = "systemd-boot-specialisation"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ lukegb ]; + + machine = { pkgs, lib, ... }: { + imports = [ common ]; + specialisation.something.configuration = {}; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed( + "test -e /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + ) + machine.succeed( + "grep -q 'title NixOS (something)' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + ) + ''; + }; + # Boot without having created an EFI entry--instead using default "/EFI/BOOT/BOOTX64.EFI" fallback = makeTest { name = "systemd-boot-fallback"; |