Function( Function { head: Destructured( FunctionHeadDestructured { ellipsis: true, identifier: None, arguments: [ FunctionHeadDestructuredArgument { identifier: "config", default: None, }, FunctionHeadDestructuredArgument { identifier: "options", default: None, }, FunctionHeadDestructuredArgument { identifier: "lib", default: None, }, FunctionHeadDestructuredArgument { identifier: "pkgs", default: None, }, FunctionHeadDestructuredArgument { identifier: "utils", default: None, }, FunctionHeadDestructuredArgument { identifier: "modules", default: None, }, FunctionHeadDestructuredArgument { identifier: "baseModules", default: None, }, FunctionHeadDestructuredArgument { identifier: "extraModules", default: None, }, FunctionHeadDestructuredArgument { identifier: "modulesPath", default: None, }, FunctionHeadDestructuredArgument { identifier: "specialArgs", default: None, }, ], }, ), body: With( With { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 3, column: 6, }, end: Position { line: 3, column: 9, }, }, }, ), target: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cfg", span: Span { start: Position { line: 7, column: 3, }, end: Position { line: 7, column: 6, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 7, column: 9, }, end: Position { line: 7, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "documentation", span: Span { start: Position { line: 7, column: 16, }, end: Position { line: 7, column: 29, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "allOpts", span: Span { start: Position { line: 8, column: 3, }, end: Position { line: 8, column: 10, }, }, }, ), ], to: Identifier( Identifier { id: "options", span: Span { start: Position { line: 8, column: 13, }, end: Position { line: 8, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "canCacheDocs", span: Span { start: Position { line: 10, column: 3, }, end: Position { line: 10, column: 15, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "m", }, ), body: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "f", span: Span { start: Position { line: 12, column: 7, }, end: Position { line: 12, column: 8, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "import", span: Span { start: Position { line: 12, column: 11, }, end: Position { line: 12, column: 17, }, }, }, ), arguments: [ Identifier( Identifier { id: "m", span: Span { start: Position { line: 12, column: 18, }, end: Position { line: 12, column: 19, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "instance", span: Span { start: Position { line: 13, column: 7, }, end: Position { line: 13, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "f", span: Span { start: Position { line: 13, column: 18, }, end: Position { line: 13, column: 19, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mapAttrs", span: Span { start: Position { line: 13, column: 21, }, end: Position { line: 13, column: 29, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "n", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "_", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "abort", span: Span { start: Position { line: 13, column: 37, }, end: Position { line: 13, column: 42, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "evaluating ", span: Span { start: Position { line: 13, column: 44, }, end: Position { line: 13, column: 59, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "n", span: Span { start: Position { line: 13, column: 57, }, end: Position { line: 13, column: 58, }, }, }, ), }, ), Raw( PartRaw { content: " for `meta` failed", span: Span { start: Position { line: 13, column: 44, }, end: Position { line: 13, column: 77, }, }, }, ), ], span: Span { start: Position { line: 13, column: 43, }, end: Position { line: 13, column: 78, }, }, }, ), ], }, ), span: Span { start: Position { line: 13, column: 34, }, end: Position { line: 13, column: 78, }, }, }, ), span: Span { start: Position { line: 13, column: 31, }, end: Position { line: 13, column: 78, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "functionArgs", span: Span { start: Position { line: 13, column: 81, }, end: Position { line: 13, column: 93, }, }, }, ), arguments: [ Identifier( Identifier { id: "f", span: Span { start: Position { line: 13, column: 94, }, end: Position { line: 13, column: 95, }, }, }, ), ], }, ), ], }, ), ], }, ), }, ), ], target: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 15, column: 7, }, end: Position { line: 15, column: 10, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 15, column: 11, }, end: Position { line: 15, column: 16, }, }, }, ), Raw( PartRaw { content: "options", span: Span { start: Position { line: 15, column: 17, }, end: Position { line: 15, column: 24, }, }, }, ), Raw( PartRaw { content: "splitBuild", span: Span { start: Position { line: 15, column: 25, }, end: Position { line: 15, column: 35, }, }, }, ), ], default: None, }, ), operator: LogicalAnd, right: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 16, column: 12, }, end: Position { line: 16, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isPath", span: Span { start: Position { line: 16, column: 21, }, end: Position { line: 16, column: 27, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "m", span: Span { start: Position { line: 16, column: 28, }, end: Position { line: 16, column: 29, }, }, }, ), ], }, ), }, ), operator: LogicalAnd, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "isFunction", span: Span { start: Position { line: 17, column: 12, }, end: Position { line: 17, column: 22, }, }, }, ), arguments: [ Identifier( Identifier { id: "f", span: Span { start: Position { line: 17, column: 23, }, end: Position { line: 17, column: 24, }, }, }, ), ], }, ), }, ), operator: LogicalAnd, right: HasAttribute( HasAttribute { expression: Identifier( Identifier { id: "instance", span: Span { start: Position { line: 18, column: 12, }, end: Position { line: 18, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 18, column: 23, }, end: Position { line: 18, column: 30, }, }, }, ), ], }, ), }, ), operator: LogicalAnd, right: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "instance", span: Span { start: Position { line: 19, column: 12, }, end: Position { line: 19, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "meta", span: Span { start: Position { line: 19, column: 21, }, end: Position { line: 19, column: 25, }, }, }, ), Raw( PartRaw { content: "buildDocsInSandbox", span: Span { start: Position { line: 19, column: 26, }, end: Position { line: 19, column: 44, }, }, }, ), ], default: Some( Identifier( Identifier { id: "true", span: Span { start: Position { line: 19, column: 48, }, end: Position { line: 19, column: 52, }, }, }, ), ), }, ), }, ), span: Span { start: Position { line: 11, column: 5, }, end: Position { line: 19, column: 52, }, }, }, ), span: Span { start: Position { line: 10, column: 18, }, end: Position { line: 19, column: 52, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "docModules", span: Span { start: Position { line: 21, column: 3, }, end: Position { line: 21, column: 13, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "p", span: Span { start: Position { line: 23, column: 7, }, end: Position { line: 23, column: 8, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "partition", span: Span { start: Position { line: 23, column: 11, }, end: Position { line: 23, column: 20, }, }, }, ), arguments: [ Identifier( Identifier { id: "canCacheDocs", span: Span { start: Position { line: 23, column: 21, }, end: Position { line: 23, column: 33, }, }, }, ), BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "baseModules", span: Span { start: Position { line: 23, column: 35, }, end: Position { line: 23, column: 46, }, }, }, ), operator: Concatenation, right: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 23, column: 50, }, end: Position { line: 23, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 23, column: 54, }, end: Position { line: 23, column: 59, }, }, }, ), Raw( PartRaw { content: "extraModules", span: Span { start: Position { line: 23, column: 60, }, end: Position { line: 23, column: 72, }, }, }, ), ], default: None, }, ), }, ), ], }, ), }, ), ], target: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "lazy", span: Span { start: Position { line: 26, column: 9, }, end: Position { line: 26, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "p", span: Span { start: Position { line: 26, column: 16, }, end: Position { line: 26, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "right", span: Span { start: Position { line: 26, column: 18, }, end: Position { line: 26, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "eager", span: Span { start: Position { line: 27, column: 9, }, end: Position { line: 27, column: 14, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "p", span: Span { start: Position { line: 27, column: 17, }, end: Position { line: 27, column: 18, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "wrong", span: Span { start: Position { line: 27, column: 19, }, end: Position { line: 27, column: 24, }, }, }, ), ], default: None, }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optionals", span: Span { start: Position { line: 27, column: 28, }, end: Position { line: 27, column: 37, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 27, column: 38, }, end: Position { line: 27, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 27, column: 42, }, end: Position { line: 27, column: 47, }, }, }, ), Raw( PartRaw { content: "includeAllModules", span: Span { start: Position { line: 27, column: 48, }, end: Position { line: 27, column: 65, }, }, }, ), ], default: None, }, ), BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "extraModules", span: Span { start: Position { line: 27, column: 67, }, end: Position { line: 27, column: 79, }, }, }, ), operator: Concatenation, right: Identifier( Identifier { id: "modules", span: Span { start: Position { line: 27, column: 83, }, end: Position { line: 27, column: 90, }, }, }, ), }, ), ], }, ), }, ), }, ), ], span: Span { start: Position { line: 25, column: 7, }, end: Position { line: 28, column: 8, }, }, }, ), span: Span { start: Position { line: 22, column: 5, }, end: Position { line: 28, column: 8, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "manual", span: Span { start: Position { line: 30, column: 3, }, end: Position { line: 30, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "import", span: Span { start: Position { line: 30, column: 12, }, end: Position { line: 30, column: 18, }, }, }, ), arguments: [ Path( Path { parts: [ Raw( PartRaw { content: "../../doc/manual", span: Span { start: Position { line: 30, column: 19, }, end: Position { line: 30, column: 35, }, }, }, ), ], span: Span { start: Position { line: 30, column: 19, }, end: Position { line: 30, column: 35, }, }, }, ), Map( Map { recursive: true, bindings: [ Inherit( BindingInherit { from: None, attributes: [ Raw( PartRaw { content: "pkgs", span: Span { start: Position { line: 31, column: 13, }, end: Position { line: 31, column: 17, }, }, }, ), Raw( PartRaw { content: "config", span: Span { start: Position { line: 31, column: 18, }, end: Position { line: 31, column: 24, }, }, }, ), ], span: Span { start: Position { line: 30, column: 41, }, end: Position { line: 31, column: 25, }, }, }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "version", span: Span { start: Position { line: 32, column: 5, }, end: Position { line: 32, column: 12, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 32, column: 15, }, end: Position { line: 32, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "system", span: Span { start: Position { line: 32, column: 22, }, end: Position { line: 32, column: 28, }, }, }, ), Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 32, column: 29, }, end: Position { line: 32, column: 34, }, }, }, ), Raw( PartRaw { content: "release", span: Span { start: Position { line: 32, column: 35, }, end: Position { line: 32, column: 42, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "revision", span: Span { start: Position { line: 33, column: 5, }, end: Position { line: 33, column: 13, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "release-", span: Span { start: Position { line: 33, column: 17, }, end: Position { line: 33, column: 35, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "version", span: Span { start: Position { line: 33, column: 27, }, end: Position { line: 33, column: 34, }, }, }, ), }, ), ], span: Span { start: Position { line: 33, column: 16, }, end: Position { line: 33, column: 36, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "extraSources", span: Span { start: Position { line: 34, column: 5, }, end: Position { line: 34, column: 17, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 34, column: 20, }, end: Position { line: 34, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 34, column: 24, }, end: Position { line: 34, column: 29, }, }, }, ), Raw( PartRaw { content: "extraModuleSources", span: Span { start: Position { line: 34, column: 30, }, end: Position { line: 34, column: 48, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 35, column: 5, }, end: Position { line: 35, column: 12, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrubbedEval", span: Span { start: Position { line: 37, column: 9, }, end: Position { line: 37, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "evalModules", span: Span { start: Position { line: 37, column: 24, }, end: Position { line: 37, column: 35, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "modules", span: Span { start: Position { line: 38, column: 11, }, end: Position { line: 38, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: List( List { elements: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "_module", span: Span { start: Position { line: 39, column: 13, }, end: Position { line: 39, column: 20, }, }, }, ), Raw( PartRaw { content: "check", span: Span { start: Position { line: 39, column: 21, }, end: Position { line: 39, column: 26, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 39, column: 29, }, end: Position { line: 39, column: 34, }, }, }, ), }, ), ], span: Span { start: Position { line: 38, column: 23, }, end: Position { line: 40, column: 12, }, }, }, ), ], span: Span { start: Position { line: 38, column: 21, }, end: Position { line: 40, column: 14, }, }, }, ), operator: Concatenation, right: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "docModules", span: Span { start: Position { line: 40, column: 18, }, end: Position { line: 40, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "eager", span: Span { start: Position { line: 40, column: 29, }, end: Position { line: 40, column: 34, }, }, }, ), ], default: None, }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "specialArgs", span: Span { start: Position { line: 41, column: 11, }, end: Position { line: 41, column: 22, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "specialArgs", span: Span { start: Position { line: 41, column: 25, }, end: Position { line: 41, column: 36, }, }, }, ), operator: Update, right: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "pkgs", span: Span { start: Position { line: 42, column: 13, }, end: Position { line: 42, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "scrubDerivations", span: Span { start: Position { line: 42, column: 20, }, end: Position { line: 42, column: 36, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "pkgs", span: Span { start: Position { line: 42, column: 38, }, end: Position { line: 42, column: 42, }, }, }, ), ], span: Span { start: Position { line: 42, column: 37, }, end: Position { line: 42, column: 43, }, }, }, ), Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 42, column: 44, }, end: Position { line: 42, column: 48, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 45, column: 13, }, end: Position { line: 45, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "allOpts", span: Span { start: Position { line: 45, column: 23, }, end: Position { line: 45, column: 30, }, }, }, ), }, ), Inherit( BindingInherit { from: None, attributes: [ Raw( PartRaw { content: "modulesPath", span: Span { start: Position { line: 46, column: 21, }, end: Position { line: 46, column: 32, }, }, }, ), Raw( PartRaw { content: "utils", span: Span { start: Position { line: 46, column: 33, }, end: Position { line: 46, column: 38, }, }, }, ), ], span: Span { start: Position { line: 41, column: 41, }, end: Position { line: 46, column: 39, }, }, }, ), ], span: Span { start: Position { line: 41, column: 40, }, end: Position { line: 47, column: 12, }, }, }, ), }, ), }, ), ], span: Span { start: Position { line: 37, column: 36, }, end: Position { line: 48, column: 10, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrubDerivations", span: Span { start: Position { line: 49, column: 9, }, end: Position { line: 49, column: 25, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "namePrefix", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "pkgSet", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mapAttrs", span: Span { start: Position { line: 49, column: 48, }, end: Position { line: 49, column: 56, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "name", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "value", }, ), body: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "wholeName", span: Span { start: Position { line: 51, column: 17, }, end: Position { line: 51, column: 26, }, }, }, ), ], to: String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "namePrefix", span: Span { start: Position { line: 51, column: 32, }, end: Position { line: 51, column: 42, }, }, }, ), }, ), Raw( PartRaw { content: ".", span: Span { start: Position { line: 51, column: 30, }, end: Position { line: 51, column: 44, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "name", span: Span { start: Position { line: 51, column: 46, }, end: Position { line: 51, column: 50, }, }, }, ), }, ), ], span: Span { start: Position { line: 51, column: 29, }, end: Position { line: 51, column: 52, }, }, }, ), }, ), ], target: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "isAttrs", span: Span { start: Position { line: 52, column: 16, }, end: Position { line: 52, column: 23, }, }, }, ), arguments: [ Identifier( Identifier { id: "value", span: Span { start: Position { line: 52, column: 24, }, end: Position { line: 52, column: 29, }, }, }, ), ], }, ), then: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "scrubDerivations", span: Span { start: Position { line: 53, column: 15, }, end: Position { line: 53, column: 31, }, }, }, ), arguments: [ Identifier( Identifier { id: "wholeName", span: Span { start: Position { line: 53, column: 32, }, end: Position { line: 53, column: 41, }, }, }, ), Identifier( Identifier { id: "value", span: Span { start: Position { line: 53, column: 42, }, end: Position { line: 53, column: 47, }, }, }, ), ], }, ), operator: Update, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optionalAttrs", span: Span { start: Position { line: 54, column: 19, }, end: Position { line: 54, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "isDerivation", span: Span { start: Position { line: 54, column: 34, }, end: Position { line: 54, column: 46, }, }, }, ), arguments: [ Identifier( Identifier { id: "value", span: Span { start: Position { line: 54, column: 47, }, end: Position { line: 54, column: 52, }, }, }, ), ], }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "outPath", span: Span { start: Position { line: 54, column: 56, }, end: Position { line: 54, column: 63, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "${", span: Span { start: Position { line: 54, column: 67, }, end: Position { line: 54, column: 82, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "wholeName", span: Span { start: Position { line: 54, column: 72, }, end: Position { line: 54, column: 81, }, }, }, ), }, ), Raw( PartRaw { content: "}", span: Span { start: Position { line: 54, column: 67, }, end: Position { line: 54, column: 83, }, }, }, ), ], span: Span { start: Position { line: 54, column: 66, }, end: Position { line: 54, column: 84, }, }, }, ), }, ), ], span: Span { start: Position { line: 54, column: 54, }, end: Position { line: 54, column: 87, }, }, }, ), ], }, ), }, ), else_: Identifier( Identifier { id: "value", span: Span { start: Position { line: 55, column: 18, }, end: Position { line: 55, column: 23, }, }, }, ), span: Span { start: Position { line: 52, column: 13, }, end: Position { line: 55, column: 23, }, }, }, ), span: Span { start: Position { line: 51, column: 13, }, end: Position { line: 55, column: 23, }, }, }, ), span: Span { start: Position { line: 50, column: 18, }, end: Position { line: 55, column: 23, }, }, }, ), span: Span { start: Position { line: 50, column: 12, }, end: Position { line: 55, column: 23, }, }, }, ), Identifier( Identifier { id: "pkgSet", span: Span { start: Position { line: 57, column: 11, }, end: Position { line: 57, column: 17, }, }, }, ), ], }, ), span: Span { start: Position { line: 49, column: 40, }, end: Position { line: 57, column: 17, }, }, }, ), span: Span { start: Position { line: 49, column: 28, }, end: Position { line: 57, column: 17, }, }, }, ), }, ), ], target: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "scrubbedEval", span: Span { start: Position { line: 58, column: 10, }, end: Position { line: 58, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 58, column: 23, }, end: Position { line: 58, column: 30, }, }, }, ), ], default: None, }, ), span: Span { start: Position { line: 36, column: 7, }, end: Position { line: 58, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "baseOptionsJSON", span: Span { start: Position { line: 60, column: 5, }, end: Position { line: 60, column: 20, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "filter", span: Span { start: Position { line: 62, column: 9, }, end: Position { line: 62, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 63, column: 11, }, end: Position { line: 63, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "filterSource", span: Span { start: Position { line: 63, column: 20, }, end: Position { line: 63, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "n", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "t", }, ), body: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "cleanSourceFilter", span: Span { start: Position { line: 65, column: 15, }, end: Position { line: 65, column: 32, }, }, }, ), arguments: [ Identifier( Identifier { id: "n", span: Span { start: Position { line: 65, column: 33, }, end: Position { line: 65, column: 34, }, }, }, ), Identifier( Identifier { id: "t", span: Span { start: Position { line: 65, column: 35, }, end: Position { line: 65, column: 36, }, }, }, ), ], }, ), operator: LogicalAnd, right: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "t", span: Span { start: Position { line: 66, column: 19, }, end: Position { line: 66, column: 20, }, }, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "directory", span: Span { start: Position { line: 66, column: 25, }, end: Position { line: 66, column: 34, }, }, }, ), ], span: Span { start: Position { line: 66, column: 24, }, end: Position { line: 66, column: 35, }, }, }, ), }, ), operator: Implication, right: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "baseNameOf", span: Span { start: Position { line: 66, column: 39, }, end: Position { line: 66, column: 49, }, }, }, ), arguments: [ Identifier( Identifier { id: "n", span: Span { start: Position { line: 66, column: 50, }, end: Position { line: 66, column: 51, }, }, }, ), ], }, ), operator: NotEqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "tests", span: Span { start: Position { line: 66, column: 56, }, end: Position { line: 66, column: 61, }, }, }, ), ], span: Span { start: Position { line: 66, column: 55, }, end: Position { line: 66, column: 62, }, }, }, ), }, ), }, ), }, ), operator: LogicalAnd, right: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "t", span: Span { start: Position { line: 67, column: 19, }, end: Position { line: 67, column: 20, }, }, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "file", span: Span { start: Position { line: 67, column: 25, }, end: Position { line: 67, column: 29, }, }, }, ), ], span: Span { start: Position { line: 67, column: 24, }, end: Position { line: 67, column: 30, }, }, }, ), }, ), operator: Implication, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "hasSuffix", span: Span { start: Position { line: 67, column: 34, }, end: Position { line: 67, column: 43, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: ".nix", span: Span { start: Position { line: 67, column: 45, }, end: Position { line: 67, column: 49, }, }, }, ), ], span: Span { start: Position { line: 67, column: 44, }, end: Position { line: 67, column: 50, }, }, }, ), Identifier( Identifier { id: "n", span: Span { start: Position { line: 67, column: 51, }, end: Position { line: 67, column: 52, }, }, }, ), ], }, ), }, ), }, ), span: Span { start: Position { line: 64, column: 17, }, end: Position { line: 67, column: 53, }, }, }, ), span: Span { start: Position { line: 64, column: 14, }, end: Position { line: 67, column: 53, }, }, }, ), ], }, ), }, ), ], target: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 70, column: 9, }, end: Position { line: 70, column: 13, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "runCommand", span: Span { start: Position { line: 70, column: 14, }, end: Position { line: 70, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "lazy-options.json", span: Span { start: Position { line: 70, column: 26, }, end: Position { line: 70, column: 43, }, }, }, ), ], span: Span { start: Position { line: 70, column: 25, }, end: Position { line: 70, column: 44, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "libPath", span: Span { start: Position { line: 71, column: 11, }, end: Position { line: 71, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filter", span: Span { start: Position { line: 71, column: 21, }, end: Position { line: 71, column: 27, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 71, column: 29, }, end: Position { line: 71, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 71, column: 34, }, end: Position { line: 71, column: 38, }, }, }, ), ], default: None, }, ), operator: Addition, right: String( String_ { parts: [ Raw( PartRaw { content: "/lib", span: Span { start: Position { line: 71, column: 42, }, end: Position { line: 71, column: 46, }, }, }, ), ], span: Span { start: Position { line: 71, column: 41, }, end: Position { line: 71, column: 47, }, }, }, ), }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "pkgsLibPath", span: Span { start: Position { line: 72, column: 11, }, end: Position { line: 72, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filter", span: Span { start: Position { line: 72, column: 25, }, end: Position { line: 72, column: 31, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 72, column: 33, }, end: Position { line: 72, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 72, column: 38, }, end: Position { line: 72, column: 42, }, }, }, ), ], default: None, }, ), operator: Addition, right: String( String_ { parts: [ Raw( PartRaw { content: "/pkgs/pkgs-lib", span: Span { start: Position { line: 72, column: 46, }, end: Position { line: 72, column: 60, }, }, }, ), ], span: Span { start: Position { line: 72, column: 45, }, end: Position { line: 72, column: 61, }, }, }, ), }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixosPath", span: Span { start: Position { line: 73, column: 11, }, end: Position { line: 73, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filter", span: Span { start: Position { line: 73, column: 23, }, end: Position { line: 73, column: 29, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 73, column: 31, }, end: Position { line: 73, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 73, column: 36, }, end: Position { line: 73, column: 40, }, }, }, ), ], default: None, }, ), operator: Addition, right: String( String_ { parts: [ Raw( PartRaw { content: "/nixos", span: Span { start: Position { line: 73, column: 44, }, end: Position { line: 73, column: 50, }, }, }, ), ], span: Span { start: Position { line: 73, column: 43, }, end: Position { line: 73, column: 51, }, }, }, ), }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "modules", span: Span { start: Position { line: 74, column: 11, }, end: Position { line: 74, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "map", span: Span { start: Position { line: 74, column: 21, }, end: Position { line: 74, column: 24, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "p", }, ), body: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "\"", span: Span { start: Position { line: 74, column: 31, }, end: Position { line: 74, column: 32, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "removePrefix", span: Span { start: Position { line: 74, column: 34, }, end: Position { line: 74, column: 46, }, }, }, ), arguments: [ String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "modulesPath", span: Span { start: Position { line: 74, column: 50, }, end: Position { line: 74, column: 61, }, }, }, ), }, ), Raw( PartRaw { content: "/", span: Span { start: Position { line: 74, column: 48, }, end: Position { line: 74, column: 63, }, }, }, ), ], span: Span { start: Position { line: 74, column: 47, }, end: Position { line: 74, column: 64, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "toString", span: Span { start: Position { line: 74, column: 66, }, end: Position { line: 74, column: 74, }, }, }, ), arguments: [ Identifier( Identifier { id: "p", span: Span { start: Position { line: 74, column: 75, }, end: Position { line: 74, column: 76, }, }, }, ), ], }, ), ], }, ), }, ), Raw( PartRaw { content: "\"", span: Span { start: Position { line: 74, column: 31, }, end: Position { line: 74, column: 79, }, }, }, ), ], span: Span { start: Position { line: 74, column: 29, }, end: Position { line: 74, column: 81, }, }, }, ), span: Span { start: Position { line: 74, column: 26, }, end: Position { line: 74, column: 81, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "docModules", span: Span { start: Position { line: 74, column: 83, }, end: Position { line: 74, column: 93, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "lazy", span: Span { start: Position { line: 74, column: 94, }, end: Position { line: 74, column: 98, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 70, column: 45, }, end: Position { line: 75, column: 10, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "export NIX_STORE_DIR=$TMPDIR/store\nexport NIX_STATE_DIR=$TMPDIR/state\n", span: Span { start: Position { line: 76, column: 1, }, end: Position { line: 78, column: 11, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 78, column: 13, }, end: Position { line: 78, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "buildPackages", span: Span { start: Position { line: 78, column: 18, }, end: Position { line: 78, column: 31, }, }, }, ), Raw( PartRaw { content: "nix", span: Span { start: Position { line: 78, column: 32, }, end: Position { line: 78, column: 35, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/bin/nix-instantiate \\\n --show-trace \\\n --eval --json --strict \\\n --argstr libPath \"$libPath\" \\\n --argstr pkgsLibPath \"$pkgsLibPath\" \\\n --argstr nixosPath \"$nixosPath\" \\\n --arg modules \"[ $modules ]\" \\\n --argstr stateVersion \"", span: Span { start: Position { line: 76, column: 1, }, end: Position { line: 85, column: 36, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "options", span: Span { start: Position { line: 85, column: 38, }, end: Position { line: 85, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "system", span: Span { start: Position { line: 85, column: 46, }, end: Position { line: 85, column: 52, }, }, }, ), Raw( PartRaw { content: "stateVersion", span: Span { start: Position { line: 85, column: 53, }, end: Position { line: 85, column: 65, }, }, }, ), Raw( PartRaw { content: "default", span: Span { start: Position { line: 85, column: 66, }, end: Position { line: 85, column: 73, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "\" \\\n --argstr release \"", span: Span { start: Position { line: 76, column: 1, }, end: Position { line: 86, column: 31, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 86, column: 33, }, end: Position { line: 86, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "system", span: Span { start: Position { line: 86, column: 40, }, end: Position { line: 86, column: 46, }, }, }, ), Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 86, column: 47, }, end: Position { line: 86, column: 52, }, }, }, ), Raw( PartRaw { content: "release", span: Span { start: Position { line: 86, column: 53, }, end: Position { line: 86, column: 60, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "\" \\\n $nixosPath/lib/eval-cacheable-options.nix > $out \\\n || {\n echo -en \"\\e[1;31m\"\n echo 'Cacheable portion of option doc build failed.'\n echo 'Usually this means that an option attribute that ends up in documentation (eg' \\\n '`default` or `description`) depends on the restricted module arguments' \\\n '`config` or `pkgs`.'\n echo\n echo 'Rebuild your configuration with `--show-trace` to find the offending' \\\n 'location. Remove the references to restricted arguments (eg by escaping' \\\n 'their antiquotations or adding a `defaultText`) or disable the sandboxed' \\\n 'build for the failing module by setting `meta.buildDocsInSandbox = false`.'\n echo -en \"\\e[0m\"\n exit 1\n } >&2\n", span: Span { start: Position { line: 76, column: 1, }, end: Position { line: 102, column: 9, }, }, }, ), ], span: Span { start: Position { line: 75, column: 11, }, end: Position { line: 102, column: 11, }, }, }, ), ], }, ), span: Span { start: Position { line: 61, column: 7, }, end: Position { line: 102, column: 11, }, }, }, ), }, ), Inherit( BindingInherit { from: Some( PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 104, column: 14, }, end: Position { line: 104, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 104, column: 18, }, end: Position { line: 104, column: 23, }, }, }, ), Raw( PartRaw { content: "options", span: Span { start: Position { line: 104, column: 24, }, end: Position { line: 104, column: 31, }, }, }, ), ], default: None, }, ), ), attributes: [ Raw( PartRaw { content: "warningsAreErrors", span: Span { start: Position { line: 104, column: 33, }, end: Position { line: 104, column: 50, }, }, }, ), Raw( PartRaw { content: "allowDocBook", span: Span { start: Position { line: 104, column: 51, }, end: Position { line: 104, column: 63, }, }, }, ), ], span: Span { start: Position { line: 30, column: 41, }, end: Position { line: 104, column: 64, }, }, }, ), ], span: Span { start: Position { line: 30, column: 36, }, end: Position { line: 105, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos-help", span: Span { start: Position { line: 108, column: 3, }, end: Position { line: 108, column: 13, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "helpScript", span: Span { start: Position { line: 109, column: 5, }, end: Position { line: 109, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 109, column: 18, }, end: Position { line: 109, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "writeShellScriptBin", span: Span { start: Position { line: 109, column: 23, }, end: Position { line: 109, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "nixos-help", span: Span { start: Position { line: 109, column: 44, }, end: Position { line: 109, column: 54, }, }, }, ), ], span: Span { start: Position { line: 109, column: 43, }, end: Position { line: 109, column: 55, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "# Finds first executable browser in a colon-separated list.\n# (see how xdg-open defines BROWSER)\nbrowser=\"$(\n IFS=: ; for b in $BROWSER; do\n [ -n \"$(type -P \"$b\" || true)\" ] && echo \"$b\" && break\n done\n)\"\nif [ -z \"$browser\" ]; then\n browser=\"$(type -P xdg-open || true)\"\n if [ -z \"$browser\" ]; then\n browser=\"", span: Span { start: Position { line: 110, column: 1, }, end: Position { line: 120, column: 20, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 120, column: 22, }, end: Position { line: 120, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "w3m-nographics", span: Span { start: Position { line: 120, column: 27, }, end: Position { line: 120, column: 41, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/bin/w3m\"\n fi\nfi\nexec \"$browser\" ", span: Span { start: Position { line: 110, column: 1, }, end: Position { line: 123, column: 23, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "manual", span: Span { start: Position { line: 123, column: 25, }, end: Position { line: 123, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "manualHTMLIndex", span: Span { start: Position { line: 123, column: 32, }, end: Position { line: 123, column: 47, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "\n", span: Span { start: Position { line: 110, column: 1, }, end: Position { line: 124, column: 5, }, }, }, ), ], span: Span { start: Position { line: 109, column: 56, }, end: Position { line: 124, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "desktopItem", span: Span { start: Position { line: 126, column: 5, }, end: Position { line: 126, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 126, column: 19, }, end: Position { line: 126, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "makeDesktopItem", span: Span { start: Position { line: 126, column: 24, }, end: Position { line: 126, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 127, column: 7, }, end: Position { line: 127, column: 11, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "nixos-manual", span: Span { start: Position { line: 127, column: 15, }, end: Position { line: 127, column: 27, }, }, }, ), ], span: Span { start: Position { line: 127, column: 14, }, end: Position { line: 127, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "desktopName", span: Span { start: Position { line: 128, column: 7, }, end: Position { line: 128, column: 18, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "NixOS Manual", span: Span { start: Position { line: 128, column: 22, }, end: Position { line: 128, column: 34, }, }, }, ), ], span: Span { start: Position { line: 128, column: 21, }, end: Position { line: 128, column: 35, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "genericName", span: Span { start: Position { line: 129, column: 7, }, end: Position { line: 129, column: 18, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "View NixOS documentation in a web browser", span: Span { start: Position { line: 129, column: 22, }, end: Position { line: 129, column: 63, }, }, }, ), ], span: Span { start: Position { line: 129, column: 21, }, end: Position { line: 129, column: 64, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "icon", span: Span { start: Position { line: 130, column: 7, }, end: Position { line: 130, column: 11, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "nix-snowflake", span: Span { start: Position { line: 130, column: 15, }, end: Position { line: 130, column: 28, }, }, }, ), ], span: Span { start: Position { line: 130, column: 14, }, end: Position { line: 130, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "exec", span: Span { start: Position { line: 131, column: 7, }, end: Position { line: 131, column: 11, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "nixos-help", span: Span { start: Position { line: 131, column: 15, }, end: Position { line: 131, column: 25, }, }, }, ), ], span: Span { start: Position { line: 131, column: 14, }, end: Position { line: 131, column: 26, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "categories", span: Span { start: Position { line: 132, column: 7, }, end: Position { line: 132, column: 17, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "System", span: Span { start: Position { line: 132, column: 22, }, end: Position { line: 132, column: 28, }, }, }, ), ], span: Span { start: Position { line: 132, column: 21, }, end: Position { line: 132, column: 29, }, }, }, ), ], span: Span { start: Position { line: 132, column: 20, }, end: Position { line: 132, column: 30, }, }, }, ), }, ), ], span: Span { start: Position { line: 126, column: 40, }, end: Position { line: 133, column: 6, }, }, }, ), ], }, ), }, ), ], target: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 135, column: 8, }, end: Position { line: 135, column: 12, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "symlinkJoin", span: Span { start: Position { line: 135, column: 13, }, end: Position { line: 135, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 136, column: 7, }, end: Position { line: 136, column: 11, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "nixos-help", span: Span { start: Position { line: 136, column: 15, }, end: Position { line: 136, column: 25, }, }, }, ), ], span: Span { start: Position { line: 136, column: 14, }, end: Position { line: 136, column: 26, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "paths", span: Span { start: Position { line: 137, column: 7, }, end: Position { line: 137, column: 12, }, }, }, ), ], to: List( List { elements: [ Identifier( Identifier { id: "helpScript", span: Span { start: Position { line: 138, column: 9, }, end: Position { line: 138, column: 19, }, }, }, ), Identifier( Identifier { id: "desktopItem", span: Span { start: Position { line: 139, column: 9, }, end: Position { line: 139, column: 20, }, }, }, ), ], span: Span { start: Position { line: 137, column: 15, }, end: Position { line: 140, column: 8, }, }, }, ), }, ), ], span: Span { start: Position { line: 135, column: 25, }, end: Position { line: 141, column: 6, }, }, }, ), ], }, ), span: Span { start: Position { line: 108, column: 16, }, end: Position { line: 141, column: 6, }, }, }, ), }, ), ], target: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "imports", span: Span { start: Position { line: 146, column: 3, }, end: Position { line: 146, column: 10, }, }, }, ), ], to: List( List { elements: [ Path( Path { parts: [ Raw( PartRaw { content: "./man-db.nix", span: Span { start: Position { line: 147, column: 5, }, end: Position { line: 147, column: 17, }, }, }, ), ], span: Span { start: Position { line: 147, column: 5, }, end: Position { line: 147, column: 17, }, }, }, ), Path( Path { parts: [ Raw( PartRaw { content: "./mandoc.nix", span: Span { start: Position { line: 148, column: 5, }, end: Position { line: 148, column: 17, }, }, }, ), ], span: Span { start: Position { line: 148, column: 5, }, end: Position { line: 148, column: 17, }, }, }, ), Path( Path { parts: [ Raw( PartRaw { content: "./assertions.nix", span: Span { start: Position { line: 149, column: 5, }, end: Position { line: 149, column: 21, }, }, }, ), ], span: Span { start: Position { line: 149, column: 5, }, end: Position { line: 149, column: 21, }, }, }, ), Path( Path { parts: [ Raw( PartRaw { content: "./meta.nix", span: Span { start: Position { line: 150, column: 5, }, end: Position { line: 150, column: 15, }, }, }, ), ], span: Span { start: Position { line: 150, column: 5, }, end: Position { line: 150, column: 15, }, }, }, ), Path( Path { parts: [ Raw( PartRaw { content: "../config/system-path.nix", span: Span { start: Position { line: 151, column: 5, }, end: Position { line: 151, column: 30, }, }, }, ), ], span: Span { start: Position { line: 151, column: 5, }, end: Position { line: 151, column: 30, }, }, }, ), Path( Path { parts: [ Raw( PartRaw { content: "../system/etc/etc.nix", span: Span { start: Position { line: 152, column: 5, }, end: Position { line: 152, column: 26, }, }, }, ), ], span: Span { start: Position { line: 152, column: 5, }, end: Position { line: 152, column: 26, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 153, column: 6, }, end: Position { line: 153, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "programs", span: Span { start: Position { line: 153, column: 31, }, end: Position { line: 153, column: 39, }, }, }, ), ], span: Span { start: Position { line: 153, column: 30, }, end: Position { line: 153, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "info", span: Span { start: Position { line: 153, column: 42, }, end: Position { line: 153, column: 46, }, }, }, ), ], span: Span { start: Position { line: 153, column: 41, }, end: Position { line: 153, column: 47, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 153, column: 49, }, end: Position { line: 153, column: 55, }, }, }, ), ], span: Span { start: Position { line: 153, column: 48, }, end: Position { line: 153, column: 56, }, }, }, ), ], span: Span { start: Position { line: 153, column: 28, }, end: Position { line: 153, column: 58, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "documentation", span: Span { start: Position { line: 153, column: 62, }, end: Position { line: 153, column: 75, }, }, }, ), ], span: Span { start: Position { line: 153, column: 61, }, end: Position { line: 153, column: 76, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "info", span: Span { start: Position { line: 153, column: 78, }, end: Position { line: 153, column: 82, }, }, }, ), ], span: Span { start: Position { line: 153, column: 77, }, end: Position { line: 153, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 153, column: 85, }, end: Position { line: 153, column: 91, }, }, }, ), ], span: Span { start: Position { line: 153, column: 84, }, end: Position { line: 153, column: 92, }, }, }, ), ], span: Span { start: Position { line: 153, column: 59, }, end: Position { line: 153, column: 94, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 154, column: 6, }, end: Position { line: 154, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "programs", span: Span { start: Position { line: 154, column: 31, }, end: Position { line: 154, column: 39, }, }, }, ), ], span: Span { start: Position { line: 154, column: 30, }, end: Position { line: 154, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 154, column: 42, }, end: Position { line: 154, column: 45, }, }, }, ), ], span: Span { start: Position { line: 154, column: 41, }, end: Position { line: 154, column: 46, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 154, column: 49, }, end: Position { line: 154, column: 55, }, }, }, ), ], span: Span { start: Position { line: 154, column: 48, }, end: Position { line: 154, column: 56, }, }, }, ), ], span: Span { start: Position { line: 154, column: 28, }, end: Position { line: 154, column: 58, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "documentation", span: Span { start: Position { line: 154, column: 62, }, end: Position { line: 154, column: 75, }, }, }, ), ], span: Span { start: Position { line: 154, column: 61, }, end: Position { line: 154, column: 76, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 154, column: 78, }, end: Position { line: 154, column: 81, }, }, }, ), ], span: Span { start: Position { line: 154, column: 77, }, end: Position { line: 154, column: 82, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 154, column: 85, }, end: Position { line: 154, column: 91, }, }, }, ), ], span: Span { start: Position { line: 154, column: 84, }, end: Position { line: 154, column: 92, }, }, }, ), ], span: Span { start: Position { line: 154, column: 59, }, end: Position { line: 154, column: 94, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 155, column: 6, }, end: Position { line: 155, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 155, column: 31, }, end: Position { line: 155, column: 39, }, }, }, ), ], span: Span { start: Position { line: 155, column: 30, }, end: Position { line: 155, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "nixosManual", span: Span { start: Position { line: 155, column: 42, }, end: Position { line: 155, column: 53, }, }, }, ), ], span: Span { start: Position { line: 155, column: 41, }, end: Position { line: 155, column: 54, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 155, column: 56, }, end: Position { line: 155, column: 62, }, }, }, ), ], span: Span { start: Position { line: 155, column: 55, }, end: Position { line: 155, column: 63, }, }, }, ), ], span: Span { start: Position { line: 155, column: 28, }, end: Position { line: 155, column: 65, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "documentation", span: Span { start: Position { line: 155, column: 69, }, end: Position { line: 155, column: 82, }, }, }, ), ], span: Span { start: Position { line: 155, column: 68, }, end: Position { line: 155, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 155, column: 85, }, end: Position { line: 155, column: 90, }, }, }, ), ], span: Span { start: Position { line: 155, column: 84, }, end: Position { line: 155, column: 91, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 155, column: 93, }, end: Position { line: 155, column: 99, }, }, }, ), ], span: Span { start: Position { line: 155, column: 92, }, end: Position { line: 155, column: 100, }, }, }, ), ], span: Span { start: Position { line: 155, column: 66, }, end: Position { line: 155, column: 102, }, }, }, ), ], }, ), ], span: Span { start: Position { line: 146, column: 13, }, end: Position { line: 156, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 158, column: 3, }, end: Position { line: 158, column: 10, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "documentation", span: Span { start: Position { line: 160, column: 5, }, end: Position { line: 160, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 162, column: 7, }, end: Position { line: 162, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 162, column: 16, }, end: Position { line: 162, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 163, column: 9, }, end: Position { line: 163, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 163, column: 16, }, end: Position { line: 163, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 163, column: 22, }, end: Position { line: 163, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 164, column: 9, }, end: Position { line: 164, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 164, column: 19, }, end: Position { line: 164, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 165, column: 9, }, end: Position { line: 165, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 165, column: 23, }, end: Position { line: 165, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 165, column: 27, }, end: Position { line: 165, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to install documentation of packages from\n{option}`environment.systemPackages` into the generated system path.\n\nSee \"Multiple-output packages\" chapter in the nixpkgs manual for more info.\n", span: Span { start: Position { line: 166, column: 1, }, end: Position { line: 170, column: 9, }, }, }, ), ], span: Span { start: Position { line: 165, column: 33, }, end: Position { line: 170, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 162, column: 25, }, end: Position { line: 172, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 174, column: 7, }, end: Position { line: 174, column: 10, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 174, column: 11, }, end: Position { line: 174, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 174, column: 20, }, end: Position { line: 174, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 175, column: 9, }, end: Position { line: 175, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 175, column: 16, }, end: Position { line: 175, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 175, column: 22, }, end: Position { line: 175, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 176, column: 9, }, end: Position { line: 176, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 176, column: 19, }, end: Position { line: 176, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 177, column: 9, }, end: Position { line: 177, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 177, column: 23, }, end: Position { line: 177, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 177, column: 27, }, end: Position { line: 177, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to install manual pages.\nThis also includes `man` outputs.\n", span: Span { start: Position { line: 178, column: 1, }, end: Position { line: 180, column: 9, }, }, }, ), ], span: Span { start: Position { line: 177, column: 33, }, end: Position { line: 180, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 174, column: 29, }, end: Position { line: 181, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 183, column: 7, }, end: Position { line: 183, column: 10, }, }, }, ), Raw( PartRaw { content: "generateCaches", span: Span { start: Position { line: 183, column: 11, }, end: Position { line: 183, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 183, column: 28, }, end: Position { line: 183, column: 36, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 184, column: 9, }, end: Position { line: 184, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 184, column: 16, }, end: Position { line: 184, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 184, column: 22, }, end: Position { line: 184, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 185, column: 9, }, end: Position { line: 185, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 185, column: 19, }, end: Position { line: 185, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 186, column: 9, }, end: Position { line: 186, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mdDoc", span: Span { start: Position { line: 186, column: 23, }, end: Position { line: 186, column: 28, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to generate the manual page index caches.\nThis allows searching for a page or\nkeyword using utilities like {manpage}`apropos(1)`\nand the `-k` option of\n{manpage}`man(1)`.\n", span: Span { start: Position { line: 187, column: 1, }, end: Position { line: 192, column: 9, }, }, }, ), ], span: Span { start: Position { line: 186, column: 29, }, end: Position { line: 192, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 183, column: 37, }, end: Position { line: 193, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "info", span: Span { start: Position { line: 195, column: 7, }, end: Position { line: 195, column: 11, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 195, column: 12, }, end: Position { line: 195, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 195, column: 21, }, end: Position { line: 195, column: 29, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 196, column: 9, }, end: Position { line: 196, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 196, column: 16, }, end: Position { line: 196, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 196, column: 22, }, end: Position { line: 196, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 197, column: 9, }, end: Position { line: 197, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 197, column: 19, }, end: Position { line: 197, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 198, column: 9, }, end: Position { line: 198, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 198, column: 23, }, end: Position { line: 198, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 198, column: 27, }, end: Position { line: 198, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to install info pages and the {command}`info` command.\nThis also includes \"info\" outputs.\n", span: Span { start: Position { line: 199, column: 1, }, end: Position { line: 201, column: 9, }, }, }, ), ], span: Span { start: Position { line: 198, column: 33, }, end: Position { line: 201, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 195, column: 30, }, end: Position { line: 202, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "doc", span: Span { start: Position { line: 204, column: 7, }, end: Position { line: 204, column: 10, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 204, column: 11, }, end: Position { line: 204, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 204, column: 20, }, end: Position { line: 204, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 205, column: 9, }, end: Position { line: 205, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 205, column: 16, }, end: Position { line: 205, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 205, column: 22, }, end: Position { line: 205, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 206, column: 9, }, end: Position { line: 206, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 206, column: 19, }, end: Position { line: 206, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 207, column: 9, }, end: Position { line: 207, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 207, column: 23, }, end: Position { line: 207, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 207, column: 27, }, end: Position { line: 207, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to install documentation distributed in packages' `/share/doc`.\nUsually plain text and/or HTML.\nThis also includes \"doc\" outputs.\n", span: Span { start: Position { line: 208, column: 1, }, end: Position { line: 211, column: 9, }, }, }, ), ], span: Span { start: Position { line: 207, column: 33, }, end: Position { line: 211, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 204, column: 29, }, end: Position { line: 212, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dev", span: Span { start: Position { line: 214, column: 7, }, end: Position { line: 214, column: 10, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 214, column: 11, }, end: Position { line: 214, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 214, column: 20, }, end: Position { line: 214, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 215, column: 9, }, end: Position { line: 215, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 215, column: 16, }, end: Position { line: 215, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 215, column: 22, }, end: Position { line: 215, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 216, column: 9, }, end: Position { line: 216, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 216, column: 19, }, end: Position { line: 216, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 217, column: 9, }, end: Position { line: 217, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mdDoc", span: Span { start: Position { line: 217, column: 23, }, end: Position { line: 217, column: 28, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to install documentation targeted at developers.\n* This includes man pages targeted at developers if {option}`documentation.man.enable` is\n set (this also includes \"devman\" outputs).\n* This includes info pages targeted at developers if {option}`documentation.info.enable`\n is set (this also includes \"devinfo\" outputs).\n* This includes other pages targeted at developers if {option}`documentation.doc.enable`\n is set (this also includes \"devdoc\" outputs).\n", span: Span { start: Position { line: 218, column: 1, }, end: Position { line: 225, column: 9, }, }, }, ), ], span: Span { start: Position { line: 217, column: 29, }, end: Position { line: 225, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 214, column: 29, }, end: Position { line: 226, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 228, column: 7, }, end: Position { line: 228, column: 12, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 228, column: 13, }, end: Position { line: 228, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 228, column: 22, }, end: Position { line: 228, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 229, column: 9, }, end: Position { line: 229, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 229, column: 16, }, end: Position { line: 229, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 229, column: 22, }, end: Position { line: 229, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 230, column: 9, }, end: Position { line: 230, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 230, column: 19, }, end: Position { line: 230, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 231, column: 9, }, end: Position { line: 231, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 231, column: 23, }, end: Position { line: 231, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 231, column: 27, }, end: Position { line: 231, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to install NixOS's own documentation.\n\n- This includes man pages like\n {manpage}`configuration.nix(5)` if {option}`documentation.man.enable` is\n set.\n- This includes the HTML manual and the {command}`nixos-help` command if\n {option}`documentation.doc.enable` is set.\n", span: Span { start: Position { line: 232, column: 1, }, end: Position { line: 239, column: 9, }, }, }, ), ], span: Span { start: Position { line: 231, column: 33, }, end: Position { line: 239, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 228, column: 31, }, end: Position { line: 240, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 242, column: 7, }, end: Position { line: 242, column: 12, }, }, }, ), Raw( PartRaw { content: "extraModules", span: Span { start: Position { line: 242, column: 13, }, end: Position { line: 242, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 242, column: 28, }, end: Position { line: 242, column: 36, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 243, column: 9, }, end: Position { line: 243, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 243, column: 16, }, end: Position { line: 243, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 243, column: 22, }, end: Position { line: 243, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 243, column: 29, }, end: Position { line: 243, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "raw", span: Span { start: Position { line: 243, column: 35, }, end: Position { line: 243, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 244, column: 9, }, end: Position { line: 244, column: 16, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 244, column: 19, }, end: Position { line: 244, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 245, column: 9, }, end: Position { line: 245, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 245, column: 23, }, end: Position { line: 245, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 245, column: 27, }, end: Position { line: 245, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Modules for which to show options even when not imported.\n", span: Span { start: Position { line: 246, column: 1, }, end: Position { line: 247, column: 9, }, }, }, ), ], span: Span { start: Position { line: 245, column: 33, }, end: Position { line: 247, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 242, column: 37, }, end: Position { line: 248, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 250, column: 7, }, end: Position { line: 250, column: 12, }, }, }, ), Raw( PartRaw { content: "options", span: Span { start: Position { line: 250, column: 13, }, end: Position { line: 250, column: 20, }, }, }, ), Raw( PartRaw { content: "splitBuild", span: Span { start: Position { line: 250, column: 21, }, end: Position { line: 250, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 250, column: 34, }, end: Position { line: 250, column: 42, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 251, column: 9, }, end: Position { line: 251, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 251, column: 16, }, end: Position { line: 251, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 251, column: 22, }, end: Position { line: 251, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 252, column: 9, }, end: Position { line: 252, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 252, column: 19, }, end: Position { line: 252, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 253, column: 9, }, end: Position { line: 253, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 253, column: 23, }, end: Position { line: 253, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 253, column: 27, }, end: Position { line: 253, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to split the option docs build into a cacheable and an uncacheable part.\nSplitting the build can substantially decrease the amount of time needed to build\nthe manual, but some user modules may be incompatible with this splitting.\n", span: Span { start: Position { line: 254, column: 1, }, end: Position { line: 257, column: 9, }, }, }, ), ], span: Span { start: Position { line: 253, column: 33, }, end: Position { line: 257, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 250, column: 43, }, end: Position { line: 258, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 260, column: 7, }, end: Position { line: 260, column: 12, }, }, }, ), Raw( PartRaw { content: "options", span: Span { start: Position { line: 260, column: 13, }, end: Position { line: 260, column: 20, }, }, }, ), Raw( PartRaw { content: "allowDocBook", span: Span { start: Position { line: 260, column: 21, }, end: Position { line: 260, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 260, column: 36, }, end: Position { line: 260, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 261, column: 9, }, end: Position { line: 261, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 261, column: 16, }, end: Position { line: 261, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 261, column: 22, }, end: Position { line: 261, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 262, column: 9, }, end: Position { line: 262, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 262, column: 19, }, end: Position { line: 262, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 263, column: 9, }, end: Position { line: 263, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 263, column: 23, }, end: Position { line: 263, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 263, column: 27, }, end: Position { line: 263, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to allow DocBook option docs. When set to `false` all option using\nDocBook documentation will cause a manual build error; additionally a new\nrenderer may be used.\n\n::: {.note}\nThe `false` setting for this option is not yet fully supported. While it\nshould work fine and produce the same output as the previous toolchain\nusing DocBook it may not work in all circumstances. Whether markdown option\ndocumentation is allowed is independent of this option.\n:::\n", span: Span { start: Position { line: 264, column: 1, }, end: Position { line: 274, column: 9, }, }, }, ), ], span: Span { start: Position { line: 263, column: 33, }, end: Position { line: 274, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 260, column: 45, }, end: Position { line: 275, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 277, column: 7, }, end: Position { line: 277, column: 12, }, }, }, ), Raw( PartRaw { content: "options", span: Span { start: Position { line: 277, column: 13, }, end: Position { line: 277, column: 20, }, }, }, ), Raw( PartRaw { content: "warningsAreErrors", span: Span { start: Position { line: 277, column: 21, }, end: Position { line: 277, column: 38, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 277, column: 41, }, end: Position { line: 277, column: 49, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 278, column: 9, }, end: Position { line: 278, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 278, column: 16, }, end: Position { line: 278, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 278, column: 22, }, end: Position { line: 278, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 279, column: 9, }, end: Position { line: 279, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 279, column: 19, }, end: Position { line: 279, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 280, column: 9, }, end: Position { line: 280, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 280, column: 23, }, end: Position { line: 280, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 280, column: 27, }, end: Position { line: 280, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Treat warning emitted during the option documentation build (eg for missing option\ndescriptions) as errors.\n", span: Span { start: Position { line: 281, column: 1, }, end: Position { line: 283, column: 9, }, }, }, ), ], span: Span { start: Position { line: 280, column: 33, }, end: Position { line: 283, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 277, column: 50, }, end: Position { line: 284, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 286, column: 7, }, end: Position { line: 286, column: 12, }, }, }, ), Raw( PartRaw { content: "includeAllModules", span: Span { start: Position { line: 286, column: 13, }, end: Position { line: 286, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 286, column: 33, }, end: Position { line: 286, column: 41, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 287, column: 9, }, end: Position { line: 287, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 287, column: 16, }, end: Position { line: 287, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 287, column: 22, }, end: Position { line: 287, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 288, column: 9, }, end: Position { line: 288, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 288, column: 19, }, end: Position { line: 288, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 289, column: 9, }, end: Position { line: 289, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 289, column: 23, }, end: Position { line: 289, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 289, column: 27, }, end: Position { line: 289, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether the generated NixOS's documentation should include documentation for all\nthe options from all the NixOS modules included in the current\n`configuration.nix`. Disabling this will make the manual\ngenerator to ignore options defined outside of `baseModules`.\n", span: Span { start: Position { line: 290, column: 1, }, end: Position { line: 294, column: 9, }, }, }, ), ], span: Span { start: Position { line: 289, column: 33, }, end: Position { line: 294, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 286, column: 42, }, end: Position { line: 295, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 297, column: 7, }, end: Position { line: 297, column: 12, }, }, }, ), Raw( PartRaw { content: "extraModuleSources", span: Span { start: Position { line: 297, column: 13, }, end: Position { line: 297, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 297, column: 34, }, end: Position { line: 297, column: 42, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 298, column: 9, }, end: Position { line: 298, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 298, column: 16, }, end: Position { line: 298, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 298, column: 22, }, end: Position { line: 298, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 298, column: 30, }, end: Position { line: 298, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "either", span: Span { start: Position { line: 298, column: 36, }, end: Position { line: 298, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 298, column: 43, }, end: Position { line: 298, column: 48, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 298, column: 49, }, end: Position { line: 298, column: 53, }, }, }, ), ], default: None, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 298, column: 54, }, end: Position { line: 298, column: 59, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 298, column: 60, }, end: Position { line: 298, column: 63, }, }, }, ), ], default: None, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 299, column: 9, }, end: Position { line: 299, column: 16, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 299, column: 19, }, end: Position { line: 299, column: 22, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 300, column: 9, }, end: Position { line: 300, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 300, column: 23, }, end: Position { line: 300, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 300, column: 27, }, end: Position { line: 300, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Which extra NixOS module paths the generated NixOS's documentation should strip\nfrom options.\n", span: Span { start: Position { line: 301, column: 1, }, end: Position { line: 303, column: 9, }, }, }, ), ], span: Span { start: Position { line: 300, column: 33, }, end: Position { line: 303, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 304, column: 9, }, end: Position { line: 304, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 304, column: 19, }, end: Position { line: 304, column: 36, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "# e.g. with options from modules in ", span: Span { start: Position { line: 305, column: 1, }, end: Position { line: 305, column: 47, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 305, column: 1, }, end: Position { line: 305, column: 50, }, }, }, ), Raw( PartRaw { content: "{pkgs.customModules}/nix:\n[ pkgs.customModules ]\n", span: Span { start: Position { line: 305, column: 1, }, end: Position { line: 307, column: 9, }, }, }, ), ], span: Span { start: Position { line: 304, column: 37, }, end: Position { line: 307, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 297, column: 43, }, end: Position { line: 308, column: 8, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 160, column: 21, }, end: Position { line: 310, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 158, column: 13, }, end: Position { line: 312, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "config", span: Span { start: Position { line: 314, column: 3, }, end: Position { line: 314, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 314, column: 12, }, end: Position { line: 314, column: 16, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 314, column: 17, }, end: Position { line: 314, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 314, column: 21, }, end: Position { line: 314, column: 27, }, }, }, ), ], default: None, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkMerge", span: Span { start: Position { line: 314, column: 29, }, end: Position { line: 314, column: 36, }, }, }, ), arguments: [ List( List { elements: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertions", span: Span { start: Position { line: 316, column: 7, }, end: Position { line: 316, column: 17, }, }, }, ), ], to: List( List { elements: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 318, column: 11, }, end: Position { line: 318, column: 20, }, }, }, ), ], to: UnaryOperation( UnaryOperation { operator: Not, operand: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 318, column: 25, }, end: Position { line: 318, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 318, column: 29, }, end: Position { line: 318, column: 32, }, }, }, ), Raw( PartRaw { content: "man-db", span: Span { start: Position { line: 318, column: 33, }, end: Position { line: 318, column: 39, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 318, column: 40, }, end: Position { line: 318, column: 46, }, }, }, ), ], default: None, }, ), operator: LogicalAnd, right: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 318, column: 50, }, end: Position { line: 318, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 318, column: 54, }, end: Position { line: 318, column: 57, }, }, }, ), Raw( PartRaw { content: "mandoc", span: Span { start: Position { line: 318, column: 58, }, end: Position { line: 318, column: 64, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 318, column: 65, }, end: Position { line: 318, column: 71, }, }, }, ), ], default: None, }, ), }, ), span: Span { start: Position { line: 318, column: 23, }, end: Position { line: 318, column: 72, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 319, column: 11, }, end: Position { line: 319, column: 18, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "man-db and mandoc can't be used as the default man page viewer at the same time!\n", span: Span { start: Position { line: 320, column: 1, }, end: Position { line: 321, column: 11, }, }, }, ), ], span: Span { start: Position { line: 319, column: 21, }, end: Position { line: 321, column: 13, }, }, }, ), }, ), ], span: Span { start: Position { line: 317, column: 9, }, end: Position { line: 322, column: 10, }, }, }, ), ], span: Span { start: Position { line: 316, column: 20, }, end: Position { line: 323, column: 8, }, }, }, ), }, ), ], span: Span { start: Position { line: 315, column: 5, }, end: Position { line: 324, column: 6, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 328, column: 6, }, end: Position { line: 328, column: 10, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 328, column: 11, }, end: Position { line: 328, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 328, column: 15, }, end: Position { line: 328, column: 18, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 328, column: 19, }, end: Position { line: 328, column: 25, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 329, column: 7, }, end: Position { line: 329, column: 18, }, }, }, ), Raw( PartRaw { content: "pathsToLink", span: Span { start: Position { line: 329, column: 19, }, end: Position { line: 329, column: 30, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "/share/man", span: Span { start: Position { line: 329, column: 36, }, end: Position { line: 329, column: 46, }, }, }, ), ], span: Span { start: Position { line: 329, column: 35, }, end: Position { line: 329, column: 47, }, }, }, ), ], span: Span { start: Position { line: 329, column: 33, }, end: Position { line: 329, column: 49, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 330, column: 7, }, end: Position { line: 330, column: 18, }, }, }, ), Raw( PartRaw { content: "extraOutputsToInstall", span: Span { start: Position { line: 330, column: 19, }, end: Position { line: 330, column: 40, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 330, column: 46, }, end: Position { line: 330, column: 49, }, }, }, ), ], span: Span { start: Position { line: 330, column: 45, }, end: Position { line: 330, column: 50, }, }, }, ), ], span: Span { start: Position { line: 330, column: 43, }, end: Position { line: 330, column: 52, }, }, }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 330, column: 56, }, end: Position { line: 330, column: 64, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 330, column: 65, }, end: Position { line: 330, column: 68, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dev", span: Span { start: Position { line: 330, column: 69, }, end: Position { line: 330, column: 72, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 330, column: 73, }, end: Position { line: 330, column: 79, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "devman", span: Span { start: Position { line: 330, column: 81, }, end: Position { line: 330, column: 87, }, }, }, ), ], span: Span { start: Position { line: 330, column: 80, }, end: Position { line: 330, column: 88, }, }, }, ), ], }, ), }, ), }, ), ], span: Span { start: Position { line: 328, column: 26, }, end: Position { line: 331, column: 6, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 333, column: 6, }, end: Position { line: 333, column: 10, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 333, column: 11, }, end: Position { line: 333, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "info", span: Span { start: Position { line: 333, column: 15, }, end: Position { line: 333, column: 19, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 333, column: 20, }, end: Position { line: 333, column: 26, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 334, column: 7, }, end: Position { line: 334, column: 18, }, }, }, ), Raw( PartRaw { content: "systemPackages", span: Span { start: Position { line: 334, column: 19, }, end: Position { line: 334, column: 33, }, }, }, ), ], to: List( List { elements: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 334, column: 38, }, end: Position { line: 334, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "texinfoInteractive", span: Span { start: Position { line: 334, column: 43, }, end: Position { line: 334, column: 61, }, }, }, ), ], default: None, }, ), ], span: Span { start: Position { line: 334, column: 36, }, end: Position { line: 334, column: 63, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 335, column: 7, }, end: Position { line: 335, column: 18, }, }, }, ), Raw( PartRaw { content: "pathsToLink", span: Span { start: Position { line: 335, column: 19, }, end: Position { line: 335, column: 30, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "/share/info", span: Span { start: Position { line: 335, column: 36, }, end: Position { line: 335, column: 47, }, }, }, ), ], span: Span { start: Position { line: 335, column: 35, }, end: Position { line: 335, column: 48, }, }, }, ), ], span: Span { start: Position { line: 335, column: 33, }, end: Position { line: 335, column: 50, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 336, column: 7, }, end: Position { line: 336, column: 18, }, }, }, ), Raw( PartRaw { content: "extraOutputsToInstall", span: Span { start: Position { line: 336, column: 19, }, end: Position { line: 336, column: 40, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "info", span: Span { start: Position { line: 336, column: 46, }, end: Position { line: 336, column: 50, }, }, }, ), ], span: Span { start: Position { line: 336, column: 45, }, end: Position { line: 336, column: 51, }, }, }, ), ], span: Span { start: Position { line: 336, column: 43, }, end: Position { line: 336, column: 53, }, }, }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 336, column: 57, }, end: Position { line: 336, column: 65, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 336, column: 66, }, end: Position { line: 336, column: 69, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dev", span: Span { start: Position { line: 336, column: 70, }, end: Position { line: 336, column: 73, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 336, column: 74, }, end: Position { line: 336, column: 80, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "devinfo", span: Span { start: Position { line: 336, column: 82, }, end: Position { line: 336, column: 89, }, }, }, ), ], span: Span { start: Position { line: 336, column: 81, }, end: Position { line: 336, column: 90, }, }, }, ), ], }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 337, column: 7, }, end: Position { line: 337, column: 18, }, }, }, ), Raw( PartRaw { content: "extraSetup", span: Span { start: Position { line: 337, column: 19, }, end: Position { line: 337, column: 29, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "if [ -w $out/share/info ]; then\n shopt -s nullglob\n for i in $out/share/info/*.info $out/share/info/*.info.gz; do\n ", span: Span { start: Position { line: 338, column: 1, }, end: Position { line: 341, column: 15, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 341, column: 17, }, end: Position { line: 341, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "buildPackages", span: Span { start: Position { line: 341, column: 22, }, end: Position { line: 341, column: 35, }, }, }, ), Raw( PartRaw { content: "texinfo", span: Span { start: Position { line: 341, column: 36, }, end: Position { line: 341, column: 43, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/bin/install-info $i $out/share/info/dir\n done\nfi\n", span: Span { start: Position { line: 338, column: 1, }, end: Position { line: 344, column: 7, }, }, }, ), ], span: Span { start: Position { line: 337, column: 32, }, end: Position { line: 344, column: 9, }, }, }, ), }, ), ], span: Span { start: Position { line: 333, column: 27, }, end: Position { line: 345, column: 6, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 347, column: 6, }, end: Position { line: 347, column: 10, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 347, column: 11, }, end: Position { line: 347, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "doc", span: Span { start: Position { line: 347, column: 15, }, end: Position { line: 347, column: 18, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 347, column: 19, }, end: Position { line: 347, column: 25, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 348, column: 7, }, end: Position { line: 348, column: 18, }, }, }, ), Raw( PartRaw { content: "pathsToLink", span: Span { start: Position { line: 348, column: 19, }, end: Position { line: 348, column: 30, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "/share/doc", span: Span { start: Position { line: 348, column: 36, }, end: Position { line: 348, column: 46, }, }, }, ), ], span: Span { start: Position { line: 348, column: 35, }, end: Position { line: 348, column: 47, }, }, }, ), ], span: Span { start: Position { line: 348, column: 33, }, end: Position { line: 348, column: 49, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 349, column: 7, }, end: Position { line: 349, column: 18, }, }, }, ), Raw( PartRaw { content: "extraOutputsToInstall", span: Span { start: Position { line: 349, column: 19, }, end: Position { line: 349, column: 40, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "doc", span: Span { start: Position { line: 349, column: 46, }, end: Position { line: 349, column: 49, }, }, }, ), ], span: Span { start: Position { line: 349, column: 45, }, end: Position { line: 349, column: 50, }, }, }, ), ], span: Span { start: Position { line: 349, column: 43, }, end: Position { line: 349, column: 52, }, }, }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 349, column: 56, }, end: Position { line: 349, column: 64, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 349, column: 65, }, end: Position { line: 349, column: 68, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dev", span: Span { start: Position { line: 349, column: 69, }, end: Position { line: 349, column: 72, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 349, column: 73, }, end: Position { line: 349, column: 79, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "devdoc", span: Span { start: Position { line: 349, column: 81, }, end: Position { line: 349, column: 87, }, }, }, ), ], span: Span { start: Position { line: 349, column: 80, }, end: Position { line: 349, column: 88, }, }, }, ), ], }, ), }, ), }, ), ], span: Span { start: Position { line: 347, column: 26, }, end: Position { line: 350, column: 6, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 352, column: 6, }, end: Position { line: 352, column: 10, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 352, column: 11, }, end: Position { line: 352, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nixos", span: Span { start: Position { line: 352, column: 15, }, end: Position { line: 352, column: 20, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 352, column: 21, }, end: Position { line: 352, column: 27, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "system", span: Span { start: Position { line: 353, column: 7, }, end: Position { line: 353, column: 13, }, }, }, ), Raw( PartRaw { content: "build", span: Span { start: Position { line: 353, column: 14, }, end: Position { line: 353, column: 19, }, }, }, ), Raw( PartRaw { content: "manual", span: Span { start: Position { line: 353, column: 20, }, end: Position { line: 353, column: 26, }, }, }, ), ], to: Identifier( Identifier { id: "manual", span: Span { start: Position { line: 353, column: 29, }, end: Position { line: 353, column: 35, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 355, column: 7, }, end: Position { line: 355, column: 18, }, }, }, ), Raw( PartRaw { content: "systemPackages", span: Span { start: Position { line: 355, column: 19, }, end: Position { line: 355, column: 33, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: List( List { elements: [], span: Span { start: Position { line: 355, column: 36, }, end: Position { line: 355, column: 38, }, }, }, ), operator: Concatenation, right: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 356, column: 12, }, end: Position { line: 356, column: 20, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 356, column: 21, }, end: Position { line: 356, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "man", span: Span { start: Position { line: 356, column: 25, }, end: Position { line: 356, column: 28, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 356, column: 29, }, end: Position { line: 356, column: 35, }, }, }, ), ], default: None, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "manual", span: Span { start: Position { line: 356, column: 36, }, end: Position { line: 356, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "manpages", span: Span { start: Position { line: 356, column: 43, }, end: Position { line: 356, column: 51, }, }, }, ), ], default: None, }, ), ], }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optionals", span: Span { start: Position { line: 357, column: 12, }, end: Position { line: 357, column: 21, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 357, column: 22, }, end: Position { line: 357, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "doc", span: Span { start: Position { line: 357, column: 26, }, end: Position { line: 357, column: 29, }, }, }, ), Raw( PartRaw { content: "enable", span: Span { start: Position { line: 357, column: 30, }, end: Position { line: 357, column: 36, }, }, }, ), ], default: None, }, ), List( List { elements: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "manual", span: Span { start: Position { line: 357, column: 39, }, end: Position { line: 357, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "manualHTML", span: Span { start: Position { line: 357, column: 46, }, end: Position { line: 357, column: 56, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "nixos-help", span: Span { start: Position { line: 357, column: 57, }, end: Position { line: 357, column: 67, }, }, }, ), ], span: Span { start: Position { line: 357, column: 37, }, end: Position { line: 357, column: 69, }, }, }, ), ], }, ), }, ), }, ), }, ), ], span: Span { start: Position { line: 352, column: 28, }, end: Position { line: 358, column: 6, }, }, }, ), ], }, ), ], span: Span { start: Position { line: 314, column: 37, }, end: Position { line: 360, column: 4, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 145, column: 1, }, end: Position { line: 362, column: 2, }, }, }, ), span: Span { start: Position { line: 5, column: 1, }, end: Position { line: 362, column: 2, }, }, }, ), span: Span { start: Position { line: 3, column: 1, }, end: Position { line: 362, column: 2, }, }, }, ), span: Span { start: Position { line: 1, column: 1, }, end: Position { line: 362, column: 2, }, }, }, )