diff --git a/modules/features/forgejo.nix b/modules/features/forgejo.nix index 3641e40..eded17e 100644 --- a/modules/features/forgejo.nix +++ b/modules/features/forgejo.nix @@ -103,14 +103,14 @@ let systemctl = lib.getExe' pkgs.systemd "systemctl"; clean-forgejo = (pkgs.writeShellScriptBin "clean-forgejo" '' - set -e + set -euo pipefail sudo ${systemctl} stop forgejo.service ${lib.getExe' pkgs.coreutils "echo"} "Stopped Forgejo" sudo ${lib.getExe' pkgs.coreutils "rm"} -rf ${config.services.forgejo.stateDir} ${lib.getExe' pkgs.coreutils "echo"} "Removed ${config.services.forgejo.stateDir}" ''); clean-postgres = (pkgs.writeShellScriptBin "clean-postgres" '' - set -e + set -euo pipefail sudo ${systemctl} stop postgresql.service ${lib.getExe' pkgs.coreutils "echo"} "Stopped PostgreSQL" sudo ${lib.getExe' pkgs.coreutils "rm"} -rf ${config.services.postgresql.dataDir} @@ -120,10 +120,16 @@ clean-forgejo clean-postgres (pkgs.writeShellScriptBin "clean-all" '' - set -e - ${lib.getExe clean-forgejo} - ${lib.getExe clean-postgres} - ${lib.getExe' pkgs.coreutils "echo"} "Removed everything related to forgejo" + set -euo pipefail + GREEN_CHECK="\e[32m✔\e[0m" + YELLOW_BANG="\e[33m!\e[0m" + ${lib.getExe' pkgs.coreutils "echo"} -n -e "$YELLOW_BANG Remove everything related to Forgejo and the PostgreSQL database behind it?" + read -p " (y/n) " -n 1 -r + if [[ $REPLY =~ ^[Yy]$ ]]; then + ${lib.getExe clean-forgejo} + ${lib.getExe clean-postgres} + ${lib.getExe' pkgs.coreutils "echo"} -e "$GREEN_CHECK Removed everything related to forgejo" + fi '') ]; };