about summary refs log tree commit diff stats
path: root/scripts/system_info.sh
blob: 940406a5cff8643d1696c7dada2f7477bd24c00c (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
#!/usr/bin/env sh

# Take a host name and return the nix store path to the host's system info.
# Type
# _system_info :: String -> Path
_system_info() {
    nix --option warn-dirty false build .#nixosConfigurations."$1".config.vhack.system-info.markdown --print-out-paths --no-link
}

_glow() {
    if command -v glow >/dev/null; then
        glow --width 0
    else
        cat
    fi
}

# The expression is not meant to be expanded by the shell
# shellcheck disable=SC2016
nix eval --expr '"${builtins.concatStringsSep "\n" (builtins.attrNames (builtins.fromTOML (builtins.readFile ./hosts/host-names.toml)))}\n"' --impure --raw | while read -r host; do
    echo "# $host" | _glow
    _glow <"$(_system_info "$host")"
done

# vim: ft=sh