#!/bin/sh # stdin: default config # stdout: modified config # save stdin (content of /etc/mkinitcpio.conf) in variable stdin=$(cat) # assert MODULES is empty echo "$stdin" | grep --quiet '^MODULES=()' # assert HOOKS is as expected echo "$stdin" | grep --quiet '^HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)' # assert no COMPRESSION option is enabled yet ! echo "$stdin" | grep --quiet '^COMPRESSION=' # assert lz4 COMPRESSION is uncommented echo "$stdin" | grep --quiet '^#COMPRESSION="lz4"' # 1) add to MODULES; 2 replace HOOKS; 3) uncomment lz4 COMPRESSION sed ' s|^MODULES=(|MODULES=(crc32c-intel |; s|^#COMPRESSION="lz4".*$|COMPRESSION="lz4"|; s|^HOOKS=(.*$|HOOKS=(base udev modconf block keyboard keymap encrypt lvm2 btrfs filesystems fsck resume)| ' <<< "$stdin"