guix: Make guix-clean less destructive

* Show preview and ask for confirmation before git clean unless used with "--force"
* Error out when trying to pass args such as "guix-clean --help"
This commit is contained in:
Hodlinator 2026-03-09 11:04:30 +01:00
parent ca45461ddb
commit be6d24ec22
No known key found for this signature in database

View File

@ -9,6 +9,14 @@ set -e -o pipefail
# shellcheck source=libexec/prelude.bash
source "$(dirname "${BASH_SOURCE[0]}")/libexec/prelude.bash"
# Parse supported args
FORCE=0
if [[ $* == "--force" ]]; then
FORCE=1
elif [ $# != 0 ]; then
echo "Script only takes optional --force arg."
exit 1
fi
###################
## Sanity Checks ##
@ -80,4 +88,14 @@ for precious_dirs_file in "${found_precious_dirs_files[@]}"; do
done < "$precious_dirs_file"
done
if [[ $FORCE == 0 ]]; then
git clean -nxdff "${exclude_flags[@]}"
read -p "Proceed? (y/n) " -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Aborted."
exit 1
fi
fi
git clean -xdff "${exclude_flags[@]}"