---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "pkgs",
    default: None,
   },
   FunctionArgument {
    identifier: "options",
    default: None,
   },
   FunctionArgument {
    identifier: "lib",
    default: None,
   },
   FunctionArgument {
    identifier: "config",
    default: None,
   },
  ],
  ellipsis: true,
 },
 definition: With {
  expression: Variable {
   identifier: "lib",
   position: (6, 6),
  },
  target: Map {
   bindings: [
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "imports",
        position: (9, 3),
       },
      ],
     },
     List {
      elements: [
       Path {
        parts: [
         Raw {
          content: "./iso-image.nix",
          position: (10, 7),
         },
        ],
       },
       Path {
        parts: [
         Raw {
          content: "../../profiles/all-hardware.nix",
          position: (13, 7),
         },
        ],
       },
       Path {
        parts: [
         Raw {
          content: "../../profiles/base.nix",
          position: (14, 7),
         },
        ],
       },
       Path {
        parts: [
         Raw {
          content: "../../profiles/installation-device.nix",
          position: (15, 7),
         },
        ],
       },
      ],
      position: (10, 5),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "console",
        position: (19, 3),
       },
       Raw {
        content: "packages",
        position: (19, 11),
       },
      ],
     },
     BinaryOperation {
      operator: Concatenation,
      operands: [
       PropertyAccess {
        expression: Variable {
         identifier: "options",
         position: (19, 22),
        },
        attribute_path: AttributePath {
         attributes: [
          Raw {
           content: "console",
           position: (19, 30),
          },
          Raw {
           content: "packages",
           position: (19, 38),
          },
          Raw {
           content: "default",
           position: (19, 47),
          },
         ],
        },
        default: None,
       },
       List {
        elements: [
         PropertyAccess {
          expression: Variable {
           identifier: "pkgs",
           position: (19, 60),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "terminus_font",
             position: (19, 65),
            },
           ],
          },
          default: None,
         },
        ],
        position: (19, 58),
       },
      ],
      position: (19, 55),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "isoImage",
        position: (22, 3),
       },
       Raw {
        content: "isoName",
        position: (22, 12),
       },
      ],
     },
     String {
      parts: [
       Expression {
        expression: PropertyAccess {
         expression: Variable {
          identifier: "config",
          position: (22, 25),
         },
         attribute_path: AttributePath {
          attributes: [
           Raw {
            content: "isoImage",
            position: (22, 32),
           },
           Raw {
            content: "isoBaseName",
            position: (22, 41),
           },
          ],
         },
         default: None,
        },
       },
       Raw {
        content: "-",
        position: (22, 53),
       },
       Expression {
        expression: PropertyAccess {
         expression: Variable {
          identifier: "config",
          position: (22, 56),
         },
         attribute_path: AttributePath {
          attributes: [
           Raw {
            content: "system",
            position: (22, 63),
           },
           Raw {
            content: "nixos",
            position: (22, 70),
           },
           Raw {
            content: "label",
            position: (22, 76),
           },
          ],
         },
         default: None,
        },
       },
       Raw {
        content: "-",
        position: (22, 82),
       },
       Expression {
        expression: PropertyAccess {
         expression: Variable {
          identifier: "pkgs",
          position: (22, 85),
         },
         attribute_path: AttributePath {
          attributes: [
           Raw {
            content: "stdenv",
            position: (22, 90),
           },
           Raw {
            content: "hostPlatform",
            position: (22, 97),
           },
           Raw {
            content: "system",
            position: (22, 110),
           },
          ],
         },
         default: None,
        },
       },
       Raw {
        content: ".iso",
        position: (22, 117),
       },
      ],
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "isoImage",
        position: (25, 3),
       },
       Raw {
        content: "makeEfiBootable",
        position: (25, 12),
       },
      ],
     },
     Variable {
      identifier: "true",
      position: (25, 30),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "isoImage",
        position: (28, 3),
       },
       Raw {
        content: "makeUsbBootable",
        position: (28, 12),
       },
      ],
     },
     Variable {
      identifier: "true",
      position: (28, 30),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "boot",
        position: (31, 3),
       },
       Raw {
        content: "loader",
        position: (31, 8),
       },
       Raw {
        content: "grub",
        position: (31, 15),
       },
       Raw {
        content: "memtest86",
        position: (31, 20),
       },
       Raw {
        content: "enable",
        position: (31, 30),
       },
      ],
     },
     Variable {
      identifier: "true",
      position: (31, 39),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "swapDevices",
        position: (35, 3),
       },
      ],
     },
     FunctionApplication {
      function: Variable {
       identifier: "mkImageMediaOverride",
       position: (35, 17),
      },
      arguments: [
       List {
        elements: [],
        position: (35, 38),
       },
      ],
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "fileSystems",
        position: (36, 3),
       },
      ],
     },
     FunctionApplication {
      function: Variable {
       identifier: "mkImageMediaOverride",
       position: (36, 17),
      },
      arguments: [
       PropertyAccess {
        expression: Variable {
         identifier: "config",
         position: (36, 38),
        },
        attribute_path: AttributePath {
         attributes: [
          Raw {
           content: "lib",
           position: (36, 45),
          },
          Raw {
           content: "isoFileSystems",
           position: (36, 49),
          },
         ],
        },
        default: None,
       },
      ],
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "boot",
        position: (38, 3),
       },
       Raw {
        content: "postBootCommands",
        position: (38, 8),
       },
      ],
     },
     String {
      parts: [
       Raw {
        content: "for o in $(</proc/cmdline); do\n  case \"$o\" in\n    live.nixos.passwd=*)\n      set -- $(IFS==; echo $o)\n      echo \"nixos:$2\" | ",
        position: (39, 1),
       },
       Expression {
        expression: PropertyAccess {
         expression: Variable {
          identifier: "pkgs",
          position: (43, 31),
         },
         attribute_path: AttributePath {
          attributes: [
           Raw {
            content: "shadow",
            position: (43, 36),
           },
          ],
         },
         default: None,
        },
       },
       Raw {
        content: "/bin/chpasswd\n      ;;\n  esac\ndone\n",
        position: (43, 43),
       },
      ],
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "system",
        position: (49, 3),
       },
       Raw {
        content: "stateVersion",
        position: (49, 10),
       },
      ],
     },
     FunctionApplication {
      function: Variable {
       identifier: "mkDefault",
       position: (49, 25),
      },
      arguments: [
       String {
        parts: [
         Raw {
          content: "18.03",
          position: (49, 36),
         },
        ],
       },
      ],
     },
    ),
   ],
   recursive: false,
   position: (8, 1),
  },
  position: (6, 1),
 },
 position: (4, 1),
}