about summary refs log tree commit diff stats
path: root/hm/soispha/pkgs/scripts/apps/fupdate
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2024-02-20 16:35:15 +0100
committerSoispha <soispha@vhack.eu>2024-02-20 16:35:15 +0100
commitcc09b607330385d6d81b9c47cf64a2442432e93f (patch)
treedc7e4503a3341b8936576c6339a70df4adaa2512 /hm/soispha/pkgs/scripts/apps/fupdate
parentrefactor(hm/conf/zsh/config): Rework old config scripts (diff)
downloadnixos-config-cc09b607330385d6d81b9c47cf64a2442432e93f.zip
refactor(treewide): Add a `.sh` extension to shell scripts
Diffstat (limited to 'hm/soispha/pkgs/scripts/apps/fupdate')
-rw-r--r--hm/soispha/pkgs/scripts/apps/fupdate167
1 files changed, 0 insertions, 167 deletions
diff --git a/hm/soispha/pkgs/scripts/apps/fupdate b/hm/soispha/pkgs/scripts/apps/fupdate
deleted file mode 100644
index 7722c070..00000000
--- a/hm/soispha/pkgs/scripts/apps/fupdate
+++ /dev/null
@@ -1,167 +0,0 @@
-#! /usr/bin/env dash
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.0.13" . %SHELL_LIBRARY_PATH
-
-
-UPDATE_SCRIPT_NAME="update.sh";
-CONFIG_DIRECTORY_PATH="$HOME/.local/share/flake-update";
-
-AUTHORS="Soispha"
-YEARS="2023"
-
-# Searches upward for a `UPDATE_SCRIPT_NAME` script
-# Returns a path to the script if it exists, otherwise nothing is returned
-check_for_update_script() {
-    dirname="$(search_upward_files "$UPDATE_SCRIPT_NAME")"
-    if [ "$dirname" ]; then
-        printf "%s/%s" "$dirname" "$UPDATE_SCRIPT_NAME"
-    fi
-}
-
-# Checks if a given path to the update script is allowed.
-# Takes the path as input
-# Return 0, if allowed, 1 if not.
-check_for_allowed_update_script(){
-    update_script="$1";
-    config_path="${CONFIG_DIRECTORY_PATH}${update_script}";
-    update_script_hash="$(sha256sum "$update_script")";
-    if [ -f "$config_path" ]; then
-        if [ "$(cat "$config_path")" = "$update_script_hash" ];then
-            dbg "Recorded hash matches";
-            return 0;
-        else
-            dbg "Recorded hash \'$(cat "$config_path")\' does not match real hash \'$update_script_hash\', assuming not allowed";
-            return 1;
-        fi
-    else
-        dbg "Path \'$config_path\' does not exist, assuming not allowed";
-        return 1;
-    fi
-}
-
-
-# Asks the user if they want to allow a given script.
-# Takes the path as input
-ask_to_allow_update_script(){
-    update_script="$1";
-    config_path="${CONFIG_DIRECTORY_PATH}${update_script}";
-    update_script_hash="$(sha256sum "$update_script")";
-    println "\033[2J"; # clear the screen
-    cat "$update_script";
-    readp "Do you want to allow this script?[N/y]: " allow;
-    dbg "allow is: $allow";
-    case "$allow" in
-        [yY])
-            dbg "allowed script";
-            dbg "storing contents in: $config_path";
-            mkdir --parents "$(dirname "$config_path")";
-            print "$update_script_hash" > "$config_path";
-            ;;
-        *)
-            UPDATE_SCRIPT_NOT_ALLOWED=true;
-            ;;
-    esac
-}
-
-# Runs the provided script and continues to update the nix flake
-# Takes the path to the script and the directory to the flake as arguments
-# If the path to the update script is empty, it will be ignored
-update(){
-    update_script="$1";
-    flake_base_dir="$2";
-
-    [ "$update_script" = "" ] || "$update_script";
-    dbg "changed directory to: $flake_base_dir";
-    cd "$flake_base_dir" || die "Provided dir \'$flake_base_dir\' can not be accessed";
-
-    nix flake update
-    if grep '[^0-9]_[0-9]' flake.lock > /dev/null; then
-        batgrep '[^0-9]_[0-9]' flake.lock;
-        die "Your flake.nix contains duplicate inputs!";
-    fi
-}
-
-help() {
-cat << EOF
-This is a Nix flake update manager.
-
-Usage:
-    $NAME [--help]
-
-Options:
-    --help   | -h
-                            Display this help and exit.
-    --version   | -v
-                            Display version and copyright information and exit.
-
-Commands:
-    flake
-                            update the flake project
-    <some other command>
-                            runs a executable called "update-<some other command>", if it exists
-EOF
-}
-
-main() {
-    if ! [ "$UPDATE_SCRIPT_NOT_ALLOWED" = true ]; then
-        update_script="$(check_for_update_script)";
-        flake_base_dir="$(search_flake_base_dir)"; # Assume, that the update script is in the base dir
-        dbg "update_script is: $update_script";
-        dbg "flake_base_dir is: $flake_base_dir";
-
-        if [ "$update_script" = "" ]; then
-            update "" "$flake_base_dir";
-        elif check_for_allowed_update_script "$update_script" && ! [ "$update_script" = "" ]; then
-            update "$update_script" "$flake_base_dir";
-        else
-            ask_to_allow_update_script "$update_script";
-            main;
-        fi
-    fi
-}
-
-if [ "$#" -eq 0 ]; then
-    main;
-fi
-
-for input in "$@"; do
-    case "$input" in
-        "--help" | "-h")
-            help;
-            exit 0;
-            ;;
-        "--version" | "-v")
-            version;
-            exit 0;
-            ;;
-        "--")
-            end_of_cli_options=true;
-            ;;
-    esac
-    [ "$end_of_cli_options" = "true" ] && break
-done
-
-while [ "$#" -ne 0 ]; do
-    case "$1" in
-        "flake")
-            main;
-            shift 1;
-            ;;
-        *)
-            command="$1";
-            shift 1;
-            [ "$1" = "--" ] && shift 1
-            if which update-"$command" > /dev/null 2>&1;then
-                if [ "$end_of_cli_options" = "true" ]; then
-                    update-"$command" "$@";
-                else
-                    update-"$command";
-                fi
-            else
-                die "command \"update-$command\" is not executable, or does not exist";
-            fi
-            ;;
-    esac
-    [ "$end_of_cli_options" = "true" ] && break
-done