about summary refs log tree commit diff stats
path: root/sys/nixpkgs/pkgs/update_pkgs
blob: d6684f0601517663c18b8c1cbe938cdb97bcc0c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/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