---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "locationsXml",
    default: None,
   },
   FunctionArgument {
    identifier: "pkgs",
    default: Some(
     FunctionApplication {
      function: Variable {
       identifier: "import",
       position: (5, 10),
      },
      arguments: [
       Path {
        parts: [
         Raw {
          content: "./..",
          position: (5, 17),
         },
        ],
       },
       Map {
        bindings: [],
        recursive: false,
        position: (5, 22),
       },
      ],
     },
    ),
   },
  ],
  ellipsis: false,
 },
 definition: With {
  expression: Variable {
   identifier: "pkgs",
   position: (7, 6),
  },
  target: FunctionApplication {
   function: PropertyAccess {
    expression: Variable {
     identifier: "stdenv",
     position: (7, 12),
    },
    attribute_path: AttributePath {
     attributes: [
      Raw {
       content: "mkDerivation",
       position: (7, 19),
      },
     ],
    },
    default: None,
   },
   arguments: [
    Map {
     bindings: [
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "name",
          position: (8, 3),
         },
        ],
       },
       String {
        parts: [
         Raw {
          content: "nixpkgs-lib-docs",
          position: (8, 11),
         },
        ],
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "src",
          position: (9, 3),
         },
        ],
       },
       Path {
        parts: [
         Raw {
          content: "./../../lib",
          position: (9, 9),
         },
        ],
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "buildInputs",
          position: (11, 3),
         },
        ],
       },
       List {
        elements: [
         Variable {
          identifier: "nixdoc",
          position: (11, 19),
         },
        ],
        position: (11, 17),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "installPhase",
          position: (12, 3),
         },
        ],
       },
       String {
        parts: [
         Raw {
          content: "function docgen {\n  nixdoc -c \"$1\" -d \"$2\" -f \"../lib/$1.nix\"  > \"$out/$1.xml\"\n}\n\nmkdir -p $out\nln -s ",
          position: (13, 1),
         },
         Expression {
          expression: Variable {
           identifier: "locationsXml",
           position: (18, 13),
          },
         },
         Raw {
          content: " $out/locations.xml\n\ndocgen strings 'String manipulation functions'\ndocgen trivial 'Miscellaneous functions'\ndocgen lists 'List manipulation functions'\ndocgen debug 'Debugging functions'\ndocgen options 'NixOS / nixpkgs option handling'\ndocgen sources 'Source filtering functions'\n",
          position: (18, 26),
         },
        ],
       },
      ),
     ],
     recursive: false,
     position: (7, 32),
    },
   ],
  },
  position: (7, 1),
 },
 position: (5, 1),
}