Permalink
Browse files

nixos-option --install: Use gummiboot if we're efi-booted

Signed-off-by: Shea Levy <shea@shealevy.com>
  • Loading branch information...
1 parent 9a008dc commit 6070bc016bd2fd945b04347e25cfd3738622d2ac @shlevy shlevy committed Oct 9, 2013
Showing with 22 additions and 6 deletions.
  1. +22 −6 modules/installer/tools/nixos-option.sh
@@ -203,6 +203,26 @@ if $generate; then
exit 1
fi
+ nl="
+"
+ if test -e /sys/firmware/efi/efivars; then
+ l1=" # Use the gummiboot efi boot loader."
+ l2=" boot.loader.grub.enable = false;"
+ l3=" boot.loader.gummiboot.enable = true;"
+ l4=" boot.loader.efi.canTouchEfiVariables = true;"
+ # !!! Remove me when nixos is on 3.10 or greater by default
+ l5=" # EFI booting requires kernel >= 3.10"
+ l6=" boot.kernelPackages = pkgs.linuxPackages_3_10;"
+ bootloader_config="$l1$nl$l2$nl$l3$nl$l4$nl$nl$l5$nl$l6"
+ else
+ l1=" # Use the Grub2 boot loader."
+ l2=" boot.loader.grub.enable = true;"
+ l3=" boot.loader.grub.version = 2;"
+ l4=" # Define on which hard drive you want to install Grub."
+ l5=' # boot.loader.grub.device = "/dev/sda";'
+ bootloader_config="$l1$nl$l2$nl$l3$nl$nl$l4$nl$l5"
+ fi
+
echo "Generating a basic configuration file in $NIXOS_CONFIG..."
# Generate a template configuration file where the user has to
@@ -224,14 +244,10 @@ if $generate; then
[ # Specify all kernel modules that are necessary for mounting the root
# filesystem.
# "xfs" "ata_piix"
+ # fbcon # Uncomment this when EFI booting to see the console before the root partition is mounted
];
- # Use the GRUB 2 boot loader.
- boot.loader.grub.enable = true;
- boot.loader.grub.version = 2;
-
- # Define on which hard drive you want to install Grub.
- # boot.loader.grub.device = "/dev/sda";
+$bootloader_config
# networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables Wireless.

0 comments on commit 6070bc0

Please sign in to comment.