#!/usr/bin/env bash set -euo pipefail export NIX_CONFIG="${NIX_CONFIG:-} experimental-features = nix-command flakes accept-flake-config = false warn-dirty = false " if ! command -v nix >/dev/null 2>&1; then echo "Installing Nix in single-user mode..." sh <(curl -L https://nixos.org/nix/install) --no-daemon # shellcheck disable=SC1090 . "$HOME/.nix-profile/etc/profile.d/nix.sh" fi mkdir -p "$HOME/.config/nix" cat > "$HOME/.config/nix/nix.conf" <<'EOF' experimental-features = nix-command flakes accept-flake-config = false warn-dirty = false EOF echo "Nix version:" nix --version echo "Available NixOS hosts:" nix eval --json --no-accept-flake-config .#nixosConfigurations --apply builtins.attrNames | jq -r '.[]' echo "Evaluating all host toplevel derivations..." for host in $(nix eval --json --no-accept-flake-config .#nixosConfigurations --apply builtins.attrNames | jq -r '.[]'); do echo "==> Evaluating $host" nix eval --raw --no-accept-flake-config ".#nixosConfigurations.${host}.config.system.build.toplevel.drvPath" done echo "Codex setup complete."