#!/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%s" "\033[32;1mRunning '${dir}update.sh'\033[0m"; if [ -f flake.nix ]; then nix flake update direnv allow eval "$(direnv export bash)" fi ./update.sh fi cd - > /dev/null || die "Bug: Last dir does not exist" done # vim: ft=sh