From c38b17ac75a934c17029179cf086a42ea44a859a Mon Sep 17 00:00:00 2001 From: xqtc161 Date: Mon, 1 Jul 2024 21:55:56 +0200 Subject: [PATCH] Expanded justfile to cover testing and updates --- justfile | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/justfile b/justfile index ac6f2f5..7b9982a 100644 --- a/justfile +++ b/justfile @@ -6,6 +6,7 @@ default: rebuild: #!/usr/bin/env bash + set -euxo pipefail HOSTNAME=$(hostname) if [ $HOSTNAME == "alastor" ]; then nh os switch . -- -vv --impure -j 4; @@ -13,9 +14,9 @@ rebuild: fi nh os switch . -- -vv; - beleth: #!/usr/bin/env bash + set -euxo pipefail arch=$(nix-instantiate --eval -E 'builtins.currentSystem') arch_sanitized=$(echo $arch | sed 's/^"//;s/"$//') if [ $arch_sanitized == "x86_64-linux" ]; then @@ -24,3 +25,27 @@ beleth: exit fi @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."