---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "pkgs",
    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: "./installation-cd-graphical-base.nix",
          position: (9, 15),
         },
        ],
       },
      ],
      position: (9, 13),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "isoImage",
        position: (11, 3),
       },
       Raw {
        content: "edition",
        position: (11, 12),
       },
      ],
     },
     String {
      parts: [
       Raw {
        content: "plasma5",
        position: (11, 23),
       },
      ],
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "services",
        position: (13, 3),
       },
       Raw {
        content: "xserver",
        position: (13, 12),
       },
      ],
     },
     Map {
      bindings: [
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "desktopManager",
           position: (14, 5),
          },
          Raw {
           content: "plasma5",
           position: (14, 20),
          },
         ],
        },
        Map {
         bindings: [
          KeyValue(
           AttributePath {
            attributes: [
             Raw {
              content: "enable",
              position: (15, 7),
             },
            ],
           },
           Variable {
            identifier: "true",
            position: (15, 16),
           },
          ),
         ],
         recursive: false,
         position: (14, 30),
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "displayManager",
           position: (19, 5),
          },
         ],
        },
        Map {
         bindings: [
          KeyValue(
           AttributePath {
            attributes: [
             Raw {
              content: "sddm",
              position: (20, 7),
             },
             Raw {
              content: "enable",
              position: (20, 12),
             },
            ],
           },
           Variable {
            identifier: "true",
            position: (20, 21),
           },
          ),
          KeyValue(
           AttributePath {
            attributes: [
             Raw {
              content: "autoLogin",
              position: (21, 7),
             },
            ],
           },
           Map {
            bindings: [
             KeyValue(
              AttributePath {
               attributes: [
                Raw {
                 content: "enable",
                 position: (22, 9),
                },
               ],
              },
              Variable {
               identifier: "true",
               position: (22, 18),
              },
             ),
             KeyValue(
              AttributePath {
               attributes: [
                Raw {
                 content: "user",
                 position: (23, 9),
                },
               ],
              },
              String {
               parts: [
                Raw {
                 content: "nixos",
                 position: (23, 17),
                },
               ],
              },
             ),
            ],
            recursive: false,
            position: (21, 19),
           },
          ),
         ],
         recursive: false,
         position: (19, 22),
        },
       ),
      ],
      recursive: false,
      position: (13, 22),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "environment",
        position: (28, 3),
       },
       Raw {
        content: "systemPackages",
        position: (28, 15),
       },
      ],
     },
     With {
      expression: Variable {
       identifier: "pkgs",
       position: (28, 37),
      },
      target: List {
       elements: [
        Variable {
         identifier: "kate",
         position: (30, 5),
        },
       ],
       position: (28, 43),
      },
      position: (28, 32),
     },
    ),
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "system",
        position: (33, 3),
       },
       Raw {
        content: "activationScripts",
        position: (33, 10),
       },
       Raw {
        content: "installerDesktop",
        position: (33, 28),
       },
      ],
     },
     LetIn {
      bindings: [
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "manualDesktopFile",
           position: (36, 5),
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "/run/current-system/sw/share/applications/nixos-manual.desktop",
           position: (36, 26),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "homeDir",
           position: (38, 5),
          },
         ],
        },
        String {
         parts: [
          Raw {
           content: "/home/nixos/",
           position: (38, 16),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "desktopDir",
           position: (39, 5),
          },
         ],
        },
        BinaryOperation {
         operator: Addition,
         operands: [
          Variable {
           identifier: "homeDir",
           position: (39, 18),
          },
          String {
           parts: [
            Raw {
             content: "Desktop/",
             position: (39, 29),
            },
           ],
          },
         ],
         position: (39, 26),
        },
       ),
      ],
      target: String {
       parts: [
        Raw {
         content: "mkdir -p ",
         position: (42, 1),
        },
        Expression {
         expression: Variable {
          identifier: "desktopDir",
          position: (42, 16),
         },
        },
        Raw {
         content: "\nchown nixos ",
         position: (42, 27),
        },
        Expression {
         expression: Variable {
          identifier: "homeDir",
          position: (43, 19),
         },
        },
        Raw {
         content: " ",
         position: (43, 27),
        },
        Expression {
         expression: Variable {
          identifier: "desktopDir",
          position: (43, 30),
         },
        },
        Raw {
         content: "\n\nln -sfT ",
         position: (43, 41),
        },
        Expression {
         expression: Variable {
          identifier: "manualDesktopFile",
          position: (45, 15),
         },
        },
        Raw {
         content: " ",
         position: (45, 33),
        },
        Expression {
         expression: BinaryOperation {
          operator: Addition,
          operands: [
           Variable {
            identifier: "desktopDir",
            position: (45, 36),
           },
           String {
            parts: [
             Raw {
              content: "nixos-manual.desktop",
              position: (45, 50),
             },
            ],
           },
          ],
          position: (45, 47),
         },
        },
        Raw {
         content: "\nln -sfT ",
         position: (45, 72),
        },
        Expression {
         expression: PropertyAccess {
          expression: Variable {
           identifier: "pkgs",
           position: (46, 15),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "gparted",
             position: (46, 20),
            },
           ],
          },
          default: None,
         },
        },
        Raw {
         content: "/share/applications/gparted.desktop ",
         position: (46, 28),
        },
        Expression {
         expression: BinaryOperation {
          operator: Addition,
          operands: [
           Variable {
            identifier: "desktopDir",
            position: (46, 66),
           },
           String {
            parts: [
             Raw {
              content: "gparted.desktop",
              position: (46, 80),
             },
            ],
           },
          ],
          position: (46, 77),
         },
        },
        Raw {
         content: "\nln -sfT ",
         position: (46, 97),
        },
        Expression {
         expression: PropertyAccess {
          expression: Variable {
           identifier: "pkgs",
           position: (47, 15),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "konsole",
             position: (47, 20),
            },
           ],
          },
          default: None,
         },
        },
        Raw {
         content: "/share/applications/org.kde.konsole.desktop ",
         position: (47, 28),
        },
        Expression {
         expression: BinaryOperation {
          operator: Addition,
          operands: [
           Variable {
            identifier: "desktopDir",
            position: (47, 74),
           },
           String {
            parts: [
             Raw {
              content: "org.kde.konsole.desktop",
              position: (47, 88),
             },
            ],
           },
          ],
          position: (47, 85),
         },
        },
        Raw {
         content: "\n",
         position: (47, 113),
        },
       ],
      },
      position: (33, 47),
     },
    ),
   ],
   recursive: false,
   position: (8, 1),
  },
  position: (6, 1),
 },
 position: (4, 1),
}