NixOS は systemd-boot や GRUB といったいくつかのブートローダをサポートしています。 Limine は NixOS でサポートされているそんなブートローダーの一つです。もともと自分は GRUB を使っていたのですが、NixOS 25.11 から Limine の NixOS Options にセキュアブートのサポートが入ったので移行しました[1]。
Limine をブートローダーに指定する場合、以下のように configuration.nix で指定します:
boot.loader = {
limine = {
enable = true;
maxGenerations = 10; # 表示する NixOS の世代数
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
Limine では NixOS Options でブート時の壁紙を変更することができます。boot.loader.limine.style.wallpapers を使います。
boot.loader.limine.style.wallpapers = [
path/to/wallpaper.png
];
Limine を使って Windows とのデュアルブートを行いたい場合、手動でエントリを追加する必要があります。自分が今使っているマシンにはディスクが二台搭載されていて、一方に NixOS が、他方に Windows がインストールされています。このようなケースでは、まず Windows がインストールされているディスクを確認し ESP (EFI system partition) が載っているパーティションの UUID を把握します:
$ sudo fdisk -l /dev/nvme1n1 | grep EFI
/dev/nvme1n1p1 2048 206847 204800 100M EFI System
$ ls -l /dev/disk/by-partuuid | grep nvme1n1p1
lrwxrwxrwx 1 root root 15 May 16 2026 744a5988-f500-4e4d-ba31-a72a897359b5 -> ../../nvme1n1p1
この UUID を元に boot.loader.limine.extraEntries を設定します(参考1, 参考2):
boot.loader.limine.extraEntries = ''
/Windows
protocol: efi
path: uuid(744a5988-f500-4e4d-ba31-a72a897359b5):/EFI/Microsoft/Boot/bootmgfw.efi
'';
注釈
-
ただし、実は移行しただけで満足してしまい、まだセキュアブートは有効にしていなかったりします。そのため本当に Limine でセキュアブートが使えるのかは未検証です。 ↩