about summary refs log tree commit diff stats
path: root/sys/nixpkgs/pkgs/update_pkgs.sh
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 /sys/nixpkgs/pkgs/update_pkgs.sh
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 'sys/nixpkgs/pkgs/update_pkgs.sh')
-rwxr-xr-xsys/nixpkgs/pkgs/update_pkgs.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/sys/nixpkgs/pkgs/update_pkgs.sh b/sys/nixpkgs/pkgs/update_pkgs.sh
new file mode 100755
index 00000000..8392fb1c
--- /dev/null
+++ b/sys/nixpkgs/pkgs/update_pkgs.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env sh
+
+die() {
+    printf "\033[31;1mError: \033[0m%s" "$1";
+    exit 1
+}
+
+cd "$(dirname "$0")" || die "Bug: run with false dirname ('$0')!"
+
+
+fd . --type directory --max-depth 1 | while read -r dir; do
+    cd "$dir" || die "Dir '$dir' does not exist"
+
+    if [ -f update.sh ]; then
+        printf "\033[34;1m> \033[0m\033[34;1m%s\033[0m\n" "Running '${dir}update.sh'";
+
+        [ -f flake.nix ] && nix flake update
+
+        direnv allow
+        eval "$(direnv export bash 2>/dev/null)"
+        ./update.sh "$@"
+    fi
+    cd - > /dev/null || die "Bug: Last dir does not exist"
+done
+
+
+# vim: ft=sh