66 lines
1.0 KiB
Bash
66 lines
1.0 KiB
Bash
#! /bin/sh
|
|
set -eux
|
|
{
|
|
umount /mnt/nix || [ $? -eq 32 ]
|
|
umount /mnt/boot || [ $? -eq 32 ]
|
|
umount /mnt/root || [ $? -eq 32 ]
|
|
umount /mnt || [ $? -eq 32 ]
|
|
umount /boot || [ $? -eq 32 ]
|
|
|
|
PATH=$(set +f; for i in /nix/store/*coreutils*/bin; do :; done; echo $i)
|
|
export PATH
|
|
|
|
mkdir /oldshit
|
|
|
|
mv /bin /oldshit/
|
|
mv /newshit/bin /
|
|
|
|
# TODO ensure /boot is empty
|
|
rmdir /newshit/boot
|
|
|
|
# skip /dev
|
|
rmdir /newshit/dev
|
|
|
|
mv /etc /oldshit/
|
|
mv /newshit/etc /
|
|
|
|
# skip /nix (it's already there)
|
|
rmdir /newshit/nix
|
|
|
|
# skip /proc
|
|
rmdir /newshit/proc
|
|
|
|
# skip /run
|
|
rmdir /newshit/run
|
|
|
|
# skip /sys
|
|
rmdir /newshit/sys
|
|
|
|
# skip /root
|
|
rmdir /newshit/root
|
|
|
|
# skip /tmp
|
|
# TODO rmdir /newshit/tmp
|
|
|
|
mv /home /oldshit/
|
|
mv /newshit/home /
|
|
|
|
mv /usr /oldshit/
|
|
mv /newshit/usr /
|
|
|
|
mv /var /oldshit/
|
|
mv /newshit/var /
|
|
|
|
mv /lib /oldshit/
|
|
mv /lib64 /oldshit/
|
|
mv /sbin /oldshit/
|
|
mv /srv /oldshit/
|
|
mv /opt /oldshit/
|
|
|
|
|
|
mv /newshit /root/ # TODO this one shoult be empty
|
|
mv /oldshit /root/
|
|
|
|
sync
|
|
}
|