#!/usr/bin/env bash
# Unix-style system checker - does one thing well
set -e

# Check if running on NixOS
check_nixos() {
    [ -f /etc/NIXOS ] || {
        echo "Not running on NixOS" >&2
        exit 1
    }
}

# Check permissions (warn if root, but don't block)
check_permissions() {
    if [ "$EUID" -eq 0 ]; then
        echo "Warning: Running as root is not recommended" >&2
        return 1
    fi
    return 0
}

# Main check
main() {
    case "${1:-}" in
        --nixos-only)
            check_nixos
            ;;
        --permissions-only)
            check_permissions
            ;;
        --quiet|-q)
            check_nixos >/dev/null 2>&1
            check_permissions >/dev/null 2>&1
            ;;
        *)
            check_nixos
            check_permissions || true  # Don't exit on root warning
            ;;
    esac

    # Output status for scripting
    if [[ "${OMNIXY_JSON:-}" == "1" ]]; then
        echo '{"nixos": true, "root": '$([ "$EUID" -eq 0 ] && echo "true" || echo "false")'}'
    fi
}

main "$@"