---
Function {
    argument: None,
    arguments: FunctionArguments {
        arguments: [
            FunctionArgument {
                identifier: "lib",
                default: None,
            },
            FunctionArgument {
                identifier: "stdenv",
                default: None,
            },
            FunctionArgument {
                identifier: "nodejs-14_x",
                default: None,
            },
            FunctionArgument {
                identifier: "pkgs",
                default: None,
            },
        ],
        ellipsis: false,
    },
    definition: LetIn {
        bindings: [
            KeyValue(
                AttributePath {
                    attributes: [
                        Raw {
                            content: "nodePackages",
                            position: (4, 3),
                        },
                    ],
                },
                FunctionApplication {
                    function: Variable {
                        identifier: "import",
                        position: (4, 18),
                    },
                    arguments: [
                        Path {
                            parts: [
                                Raw {
                                    content: "./node-composition.nix",
                                    position: (4, 25),
                                },
                            ],
                        },
                        Map {
                            bindings: [
                                Inherit(
                                    None,
                                    [
                                        Raw {
                                            content: "pkgs",
                                            position: (5, 13),
                                        },
                                    ],
                                ),
                                KeyValue(
                                    AttributePath {
                                        attributes: [
                                            Raw {
                                                content: "nodejs",
                                                position: (6, 5),
                                            },
                                        ],
                                    },
                                    Variable {
                                        identifier: "nodejs-14_x",
                                        position: (6, 14),
                                    },
                                ),
                                Inherit(
                                    Some(
                                        PropertyAccess {
                                            expression: Variable {
                                                identifier: "stdenv",
                                                position: (7, 14),
                                            },
                                            attribute_path: AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "hostPlatform",
                                                        position: (7, 21),
                                                    },
                                                ],
                                            },
                                            default: None,
                                        },
                                    ),
                                    [
                                        Raw {
                                            content: "system",
                                            position: (7, 35),
                                        },
                                    ],
                                ),
                            ],
                            recursive: false,
                        },
                    ],
                },
            ),
        ],
        target: FunctionApplication {
            function: PropertyAccess {
                expression: Variable {
                    identifier: "nodePackages",
                    position: (10, 1),
                },
                attribute_path: AttributePath {
                    attributes: [
                        Raw {
                            content: "n8n",
                            position: (10, 14),
                        },
                        Raw {
                            content: "override",
                            position: (10, 18),
                        },
                    ],
                },
                default: None,
            },
            arguments: [
                Map {
                    bindings: [
                        KeyValue(
                            AttributePath {
                                attributes: [
                                    Raw {
                                        content: "nativeBuildInputs",
                                        position: (11, 3),
                                    },
                                ],
                            },
                            With {
                                expression: PropertyAccess {
                                    expression: Variable {
                                        identifier: "pkgs",
                                        position: (11, 28),
                                    },
                                    attribute_path: AttributePath {
                                        attributes: [
                                            Raw {
                                                content: "nodePackages",
                                                position: (11, 33),
                                            },
                                        ],
                                    },
                                    default: None,
                                },
                                target: List {
                                    elements: [
                                        Variable {
                                            identifier: "node-pre-gyp",
                                            position: (12, 5),
                                        },
                                    ],
                                },
                            },
                        ),
                        KeyValue(
                            AttributePath {
                                attributes: [
                                    Raw {
                                        content: "passthru",
                                        position: (15, 3),
                                    },
                                    Raw {
                                        content: "updateScript",
                                        position: (15, 12),
                                    },
                                ],
                            },
                            Path {
                                parts: [
                                    Raw {
                                        content: "./generate-dependencies.sh",
                                        position: (15, 27),
                                    },
                                ],
                            },
                        ),
                        KeyValue(
                            AttributePath {
                                attributes: [
                                    Raw {
                                        content: "meta",
                                        position: (17, 3),
                                    },
                                ],
                            },
                            With {
                                expression: Variable {
                                    identifier: "lib",
                                    position: (17, 15),
                                },
                                target: Map {
                                    bindings: [
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "description",
                                                        position: (18, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "Free and open fair-code licensed node based Workflow Automation Tool",
                                                        position: (18, 20),
                                                    },
                                                ],
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "maintainers",
                                                        position: (19, 5),
                                                    },
                                                ],
                                            },
                                            With {
                                                expression: Variable {
                                                    identifier: "maintainers",
                                                    position: (19, 24),
                                                },
                                                target: List {
                                                    elements: [
                                                        Variable {
                                                            identifier: "freezeboy",
                                                            position: (19, 39),
                                                        },
                                                        Variable {
                                                            identifier: "k900",
                                                            position: (19, 49),
                                                        },
                                                    ],
                                                },
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "license",
                                                        position: (20, 5),
                                                    },
                                                ],
                                            },
                                            Map {
                                                bindings: [
                                                    KeyValue(
                                                        AttributePath {
                                                            attributes: [
                                                                Raw {
                                                                    content: "fullName",
                                                                    position: (21, 7),
                                                                },
                                                            ],
                                                        },
                                                        String {
                                                            parts: [
                                                                Raw {
                                                                    content: "Sustainable Use License",
                                                                    position: (21, 19),
                                                                },
                                                            ],
                                                        },
                                                    ),
                                                    KeyValue(
                                                        AttributePath {
                                                            attributes: [
                                                                Raw {
                                                                    content: "url",
                                                                    position: (22, 7),
                                                                },
                                                            ],
                                                        },
                                                        String {
                                                            parts: [
                                                                Raw {
                                                                    content: "https://github.com/n8n-io/n8n/blob/master/LICENSE.md",
                                                                    position: (22, 14),
                                                                },
                                                            ],
                                                        },
                                                    ),
                                                    KeyValue(
                                                        AttributePath {
                                                            attributes: [
                                                                Raw {
                                                                    content: "free",
                                                                    position: (23, 7),
                                                                },
                                                            ],
                                                        },
                                                        Variable {
                                                            identifier: "false",
                                                            position: (23, 14),
                                                        },
                                                    ),
                                                    KeyValue(
                                                        AttributePath {
                                                            attributes: [
                                                                Raw {
                                                                    content: "redistributable",
                                                                    position: (25, 7),
                                                                },
                                                            ],
                                                        },
                                                        Variable {
                                                            identifier: "false",
                                                            position: (25, 25),
                                                        },
                                                    ),
                                                ],
                                                recursive: false,
                                            },
                                        ),
                                    ],
                                    recursive: false,
                                },
                            },
                        ),
                    ],
                    recursive: false,
                },
            ],
        },
    },
}