#! @bash@/bin/sh -e shopt -s nullglob export PATH=/empty for i in @path@; do PATH=$PATH:$i/bin; done default=$1 if test -z "$1"; then echo "Syntax: grub-menu-builder.sh " exit 1 fi bootMount="@bootMount@" if test -z "$bootMount"; then bootMount=/boot; fi target=/boot/grub/menu.lst tmp=$target.tmp cat > $tmp << GRUBEND # Automatically generated. DO NOT EDIT THIS FILE! default 0 timeout 5 GRUBEND if test -n "@grubSplashImage@"; then splashLocation=@grubSplashImage@ # !!! image in /nix/store doesn't seem to work #if test -n "@copyKernels@"; then cp -f $splashLocation /boot/background.xpm.gz splashLocation="$bootMount/background.xpm.gz" #fi echo "splashimage $splashLocation" >> $tmp fi configurationCounter=0; addEntry() { local name="$1" local path="$2" local shortSuffix="$3" configurationCounter=$((configurationCounter + 1)) if test $configurationCounter -gt @configurationLimit@ ; then return fi; if ! test -e $path/kernel -a -e $path/initrd; then return fi local kernel=$(readlink -f $path/kernel) local initrd=$(readlink -f $path/initrd) if test "$path" = "$default"; then cp "$kernel" /boot/nixos-kernel cp "$initrd" /boot/nixos-initrd cp "$(readlink -f "$path/init")" /boot/nixos-init cat > /boot/nixos-grub-config <> $tmp << GRUBEND title $name kernel $kernel systemConfig=$(readlink -f $path) init=$(readlink -f $path/init) $(cat $path/kernel-params) initrd $initrd GRUBEND } rm -rf /boot/kernels if test -n "@copyKernels@"; then mkdir -p /boot/kernels fi if test -n "$tmp"; then addEntry "NixOS - Default" $default "" fi # Additional entries specified verbatim by the configuration. cat >> $tmp <