nixos-config/scripts/export.fish

60 lines
1.8 KiB
Fish
Raw Normal View History

2024-03-29 03:24:34 +00:00
#!/usr/bin/env fish
2024-03-26 02:13:05 +00:00
source scripts/shared.fish
2024-04-13 02:44:34 +00:00
logprintn "INFO" "blue" "creating directory $(pwd)/temp"
2024-03-29 04:41:56 +00:00
mkdir -p "temp"
2024-04-13 01:08:24 +00:00
set dircontent $(find "." -type f | grep -v ".git" | grep -v ".temp" | sort -z)
2024-03-29 04:41:56 +00:00
for i in $dircontent
if [ $i != "" ]
2024-04-13 02:44:34 +00:00
logprintn "INFO" "blue" "hashing file $i"
2024-03-29 04:41:56 +00:00
set ihash "$(sha1sum $i)"
echo "$ihash" >> "temp/directorylisthashed.txt"
end
end
2024-03-26 02:13:05 +00:00
if fish_is_root_user
2024-04-13 02:44:34 +00:00
logprintn "EXIT" "red" "running as root is not supported"
2024-03-29 04:41:56 +00:00
exit 0
2024-03-26 02:13:05 +00:00
else
2024-03-29 04:41:56 +00:00
set hash1 "$(cat temp/directorylisthashed.txt)"
set hash2 "$(cat temp/directorylisthashedprevious.txt)"
if [ "$hash1" != "$hash2" ]
2024-04-13 03:18:16 +00:00
set rpass "$(logprinti "root password" "p")"
2024-03-29 04:41:56 +00:00
if [ "$rpass" = "" ]
2024-04-22 05:15:41 +00:00
logprintn "EXIT" "red" "empty root password"
2024-03-29 04:41:56 +00:00
exit 0
end
2024-04-22 05:42:59 +00:00
echo "$rpass" | sudo -S printf ""
2024-04-13 03:06:51 +00:00
set rebuild "$(logprinti "trigger rebuild (Y/n)" "c")"
2024-03-29 04:41:56 +00:00
if [ "$rebuild" = "" ]
set rebuild "y"
end
set rebuild "$(string lower $rebuild)"
if [ "$rebuild" = "y" ]
2024-04-22 05:42:59 +00:00
sudo nixos-rebuild --flake $(pwd) switch
2024-04-22 05:15:41 +00:00
logprintn "INFO" "blue" "nixos-rebuild completed"
2024-03-29 04:41:56 +00:00
end
2024-03-29 03:16:31 +00:00
end
2024-04-13 03:18:16 +00:00
set gitpush "$(logprinti "update git (Y/n)" "c")"
2024-03-29 03:16:31 +00:00
if [ "$gitpush" = "" ]
set gitpush "y"
end
set gitpush "$(string lower $gitpush)"
if [ "$gitpush" = "y" ]
2024-04-13 03:09:52 +00:00
set cmessage "$(logprinti "commit message" "c")"
2024-04-13 02:44:34 +00:00
logprintn "INFO" "blue" "adding changes to git repo"
2024-03-29 04:51:58 +00:00
git add .
2024-04-13 02:44:34 +00:00
logprintn "INFO" "blue" "creating commit with message \"$cmessage\""
2024-03-29 04:51:58 +00:00
git commit -m "$cmessage"
2024-04-13 02:44:34 +00:00
logprintn "INFO" "blue" "pushing to external repository"
2024-03-29 04:52:31 +00:00
git push -q
2024-03-29 03:16:31 +00:00
end
2024-03-29 04:41:56 +00:00
end
2024-04-13 02:15:43 +00:00
cp -rf "temp/directorylisthashed.txt" "temp/directorylisthashedprevious.txt"
2024-04-13 01:08:24 +00:00
rm "temp/directorylisthashed.txt"
2024-04-13 03:06:51 +00:00