Expanded justfile to cover testing and updates

This commit is contained in:
xqtc161 2024-07-01 21:55:56 +02:00
parent b9e4385f0c
commit c38b17ac75

View file

@ -6,6 +6,7 @@ default:
rebuild: rebuild:
#!/usr/bin/env bash #!/usr/bin/env bash
set -euxo pipefail
HOSTNAME=$(hostname) HOSTNAME=$(hostname)
if [ $HOSTNAME == "alastor" ]; then if [ $HOSTNAME == "alastor" ]; then
nh os switch . -- -vv --impure -j 4; nh os switch . -- -vv --impure -j 4;
@ -13,9 +14,9 @@ rebuild:
fi fi
nh os switch . -- -vv; nh os switch . -- -vv;
beleth: beleth:
#!/usr/bin/env bash #!/usr/bin/env bash
set -euxo pipefail
arch=$(nix-instantiate --eval -E 'builtins.currentSystem') arch=$(nix-instantiate --eval -E 'builtins.currentSystem')
arch_sanitized=$(echo $arch | sed 's/^"//;s/"$//') arch_sanitized=$(echo $arch | sed 's/^"//;s/"$//')
if [ $arch_sanitized == "x86_64-linux" ]; then if [ $arch_sanitized == "x86_64-linux" ]; then
@ -24,3 +25,27 @@ beleth:
exit exit
fi fi
@echo "Host arch needs to be 'x86_64-linux'! Aborting..."; @echo "Host arch needs to be 'x86_64-linux'! Aborting...";
update:
nix flake update
test target="":
#!/usr/bin/env bash
set -euo pipefail
target={{target}}
configurations=$(nix flake show --json --all-systems --quiet | nix run nixpkgs#jq -- -r '.nixosConfigurations | keys[]')
if [ "$target" == "" ]; then
nix flake check;
exit
fi
for config in $configurations; do
if [ "$config" == "$target" ]; then
nix build .#nixosConfigurations.{{target}}.config.system.build.toplevel --dry-run --quiet &> /dev/null
echo "Target {{target}}'s configuration is valid!";
exit
fi
done
echo "Target '$target' does not exist in the NixOS configurations."