#!/bin/sh

[ "$(id -u)" = "0" ] || exit 1

SPLASH=
grep -q splash /proc/cmdline && SPLASH=splash
grep -q nosplash /proc/cmdline && SPLASH=nosplash
RESUME=$(awk '$2=/partition/' /proc/swaps|sort -rnk3|head -1|awk '{print $1}')
[ "$RESUME" ] && [ $(awk '$2=/partition/' /proc/swaps|sort -rnk3|head -1|awk '{print $3}') -le $(awk '/MemTotal/{print $2}' /proc/meminfo) ] && RESUME=

if [ "$RESUME" ]; then
 echo "Using $RESUME swap partition for resume..." >&2
 [ "$RESUME" ] && RESUME=resume=$RESUME
else
 echo "Error: No swap partition bigger than total memory found!" >&2
fi

if [ "$SPLASH" ]; then
 if [ "$RESUME" ]; then
  sed -i 's|\(^GRUB_CMDLINE_LINUX_DEFAULT\)=.*|\1="quiet '$SPLASH' '$RESUME'"|' /etc/default/grub
 else
  sed -i 's|\(^GRUB_CMDLINE_LINUX_DEFAULT\)=.*|\1="quiet '$SPLASH'"|' /etc/default/grub
 fi
else
 if [ "$RESUME" ]; then
  sed -i 's|\(^GRUB_CMDLINE_LINUX_DEFAULT\)=.*|\1="quiet '$RESUME'"|' /etc/default/grub
 else
  sed -i 's|\(^GRUB_CMDLINE_LINUX_DEFAULT\)=.*|\1="quiet"|' /etc/default/grub
 fi
fi

[ -d /boot/grub ] && update-grub
