From c1e00a7c456eda9fec2a809448a9eed74c672077 Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Sat, 4 Apr 2026 13:44:48 -0500 Subject: [PATCH] clean script updates --- modules/features/forgejo.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) 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 '') ]; };