---
LetIn {
 bindings: [
  KeyValue(
   AttributePath {
    attributes: [
     Raw {
      content: "requiredVersion",
      position: (1, 5),
     },
    ],
   },
   FunctionApplication {
    function: Variable {
     identifier: "import",
     position: (1, 23),
    },
    arguments: [
     Path {
      parts: [
       Raw {
        content: "./lib/minver.nix",
        position: (1, 30),
       },
      ],
     },
    ],
   },
  ),
 ],
 target: IfThenElse {
  predicate: BinaryOperation {
   operator: LogicalOr,
   operands: [
    UnaryOperation {
     operator: Not,
     operand: HasProperty {
      expression: Variable {
       identifier: "builtins",
       position: (3, 6),
      },
      attribute_path: AttributePath {
       attributes: [
        Raw {
         content: "nixVersion",
         position: (3, 17),
        },
       ],
      },
      position: (3, 15),
     },
     position: (3, 4),
    },
    BinaryOperation {
     operator: EqualTo,
     operands: [
      FunctionApplication {
       function: PropertyAccess {
        expression: Variable {
         identifier: "builtins",
         position: (3, 31),
        },
        attribute_path: AttributePath {
         attributes: [
          Raw {
           content: "compareVersions",
           position: (3, 40),
          },
         ],
        },
        default: None,
       },
       arguments: [
        Variable {
         identifier: "requiredVersion",
         position: (3, 56),
        },
        PropertyAccess {
         expression: Variable {
          identifier: "builtins",
          position: (3, 72),
         },
         attribute_path: AttributePath {
          attributes: [
           Raw {
            content: "nixVersion",
            position: (3, 81),
           },
          ],
         },
         default: None,
        },
       ],
      },
      Int {
       value: 1,
       position: (3, 95),
      },
     ],
     position: (3, 92),
    },
   ],
   position: (3, 28),
  },
  then: FunctionApplication {
   function: Variable {
    identifier: "abort",
    position: (5, 3),
   },
   arguments: [
    String {
     parts: [
      Raw {
       content: "\nThis version of Nixpkgs requires Nix >= ",
       position: (6, 1),
      },
      Expression {
       expression: Variable {
        identifier: "requiredVersion",
        position: (7, 47),
       },
      },
      Raw {
       content: ", please upgrade:\n\n- If you are running NixOS, `nixos-rebuild' can be used to upgrade your system.\n\n- Alternatively, with Nix > 2.0 `nix upgrade-nix' can be used to imperatively\n  upgrade Nix. You may use `nix-env --version' to check which version you have.\n\n- If you installed Nix using the install script (https://nixos.org/nix/install),\n  it is safe to upgrade by running it again:\n\n      curl -L https://nixos.org/nix/install | sh\n\nFor more information, please see the NixOS release notes at\nhttps://nixos.org/nixos/manual or locally at\n",
       position: (7, 63),
      },
      Expression {
       expression: FunctionApplication {
        function: Variable {
         identifier: "toString",
         position: (21, 7),
        },
        arguments: [
         Path {
          parts: [
           Raw {
            content: "./nixos/doc/manual/release-notes",
            position: (21, 16),
           },
          ],
         },
        ],
       },
      },
      Raw {
       content: ".\n\nIf you need further help, see https://nixos.org/nixos/support.html\n",
       position: (21, 49),
      },
     ],
    },
   ],
  },
  else_: FunctionApplication {
   function: Variable {
    identifier: "import",
    position: (28, 3),
   },
   arguments: [
    Path {
     parts: [
      Raw {
       content: "./pkgs/top-level/impure.nix",
       position: (28, 10),
      },
     ],
    },
   ],
  },
  position: (3, 1),
 },
 position: (1, 1),
}