#!/bin/sh
# see also http://lists.altlinux.org/pipermail/devel/2007-April/057886.html

# NB: numbers in 512-byte sectors
gb=$((1048576*2))
ram=$(($(sed -n '/^MemTotal:/ s/[^0-9]//pg' /proc/meminfo)*2))

# off the shelf base values
root=$((4*$gb))
home=$((1*$gb))
var=$((2*$gb))

cat >/var/cache/alterator/vm-profile.scm <<_EOF_
((generic
  (title . "Generic setup")
  (action . trivial)
  (actiondata  ("swap" (size 102400 . $(($gb/2))) (fsim . "SWAPFS") (methods plain))
               ("/" (size $gb . $(($root*3/2))) (fsim . "Ext2/3") (methods raid plain))
               ("/home" (size $home . #t) (fsim . "Ext2/3") (methods raid plain))))
 (workstation
  (title . "Workstation setup")
  (action . trivial)
  (actiondata  ("swap" (size $(($ram*5/4)) . $(($ram*3/2))) (fsim . "SWAPFS") (methods plain))
               ("/" (size $(($root*2)) . $(($root*4))) (fsim . "Ext2/3") (methods plain))
               ("/home" (size $home . #t) (fsim . "Ext2/3") (methods raid plain))))
 (server
  (title . "Server setup")
  (action . trivial)
  (actiondata ("swap" (size $(($ram/4)) . $(($ram*5/4))) (fsim . "SWAPFS") (methods raid plain))
              ("/" (size $gb . $root) (fsim . "Ext2/3") (methods raid plain))
	      ("/usr" (size $gb . $(($root/2))) (fsim . "Ext2/3") (methods raid plain))
              ("/home" (size $home . #t) (fsim . "Ext2/3") (methods raid plain))
              ("/var" (size $var . #t) (fsim . "Ext2/3") (methods raid plain)))))
_EOF_
