Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: false,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "pkgs",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "options",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "config",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "version",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "revision",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "extraSources",
default: Some(
List(
List {
elements: [],
span: Span {
start: Position {
line: 6,
column: 18,
},
end: Position {
line: 6,
column: 20,
},
},
},
),
),
},
FunctionHeadDestructuredArgument {
identifier: "baseOptionsJSON",
default: Some(
Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 7,
column: 21,
},
end: Position {
line: 7,
column: 25,
},
},
},
),
),
},
FunctionHeadDestructuredArgument {
identifier: "warningsAreErrors",
default: Some(
Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 8,
column: 23,
},
end: Position {
line: 8,
column: 27,
},
},
},
),
),
},
FunctionHeadDestructuredArgument {
identifier: "allowDocBook",
default: Some(
Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 9,
column: 18,
},
end: Position {
line: 9,
column: 22,
},
},
},
),
),
},
FunctionHeadDestructuredArgument {
identifier: "prefix",
default: Some(
Path(
Path {
parts: [
Raw(
PartRaw {
content: "../../..",
span: Span {
start: Position {
line: 10,
column: 12,
},
end: Position {
line: 10,
column: 20,
},
},
},
),
],
span: Span {
start: Position {
line: 10,
column: 12,
},
end: Position {
line: 10,
column: 20,
},
},
},
),
),
},
],
},
),
body: With(
With {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 13,
column: 6,
},
end: Position {
line: 13,
column: 10,
},
},
},
),
target: LetIn(
LetIn {
bindings: [
Inherit(
BindingInherit {
from: Some(
Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 16,
column: 12,
},
end: Position {
line: 16,
column: 15,
},
},
},
),
),
attributes: [
Raw(
PartRaw {
content: "hasPrefix",
span: Span {
start: Position {
line: 16,
column: 17,
},
end: Position {
line: 16,
column: 26,
},
},
},
),
Raw(
PartRaw {
content: "removePrefix",
span: Span {
start: Position {
line: 16,
column: 27,
},
end: Position {
line: 16,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 15,
column: 4,
},
end: Position {
line: 16,
column: 40,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "lib",
span: Span {
start: Position {
line: 18,
column: 3,
},
end: Position {
line: 18,
column: 6,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 18,
column: 9,
},
end: Position {
line: 18,
column: 13,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lib",
span: Span {
start: Position {
line: 18,
column: 14,
},
end: Position {
line: 18,
column: 17,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "docbook_xsl_ns",
span: Span {
start: Position {
line: 20,
column: 3,
},
end: Position {
line: 20,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 20,
column: 20,
},
end: Position {
line: 20,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "docbook-xsl-ns",
span: Span {
start: Position {
line: 20,
column: 25,
},
end: Position {
line: 20,
column: 39,
},
},
},
),
Raw(
PartRaw {
content: "override",
span: Span {
start: Position {
line: 20,
column: 40,
},
end: Position {
line: 20,
column: 48,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "withManOptDedupPatch",
span: Span {
start: Position {
line: 21,
column: 5,
},
end: Position {
line: 21,
column: 25,
},
},
},
),
],
to: Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 21,
column: 28,
},
end: Position {
line: 21,
column: 32,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 20,
column: 49,
},
end: Position {
line: 22,
column: 4,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "prefixesToStrip",
span: Span {
start: Position {
line: 30,
column: 3,
},
end: Position {
line: 30,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "map",
span: Span {
start: Position {
line: 30,
column: 21,
},
end: Position {
line: 30,
column: 24,
},
},
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "p",
},
),
body: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 30,
column: 32,
},
end: Position {
line: 30,
column: 40,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "p",
span: Span {
start: Position {
line: 30,
column: 41,
},
end: Position {
line: 30,
column: 42,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/",
span: Span {
start: Position {
line: 30,
column: 30,
},
end: Position {
line: 30,
column: 44,
},
},
},
),
],
span: Span {
start: Position {
line: 30,
column: 29,
},
end: Position {
line: 30,
column: 45,
},
},
},
),
span: Span {
start: Position {
line: 30,
column: 26,
},
end: Position {
line: 30,
column: 45,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: List(
List {
elements: [
Identifier(
Identifier {
id: "prefix",
span: Span {
start: Position {
line: 30,
column: 50,
},
end: Position {
line: 30,
column: 56,
},
},
},
),
],
span: Span {
start: Position {
line: 30,
column: 48,
},
end: Position {
line: 30,
column: 58,
},
},
},
),
operator: Concatenation,
right: Identifier(
Identifier {
id: "extraSources",
span: Span {
start: Position {
line: 30,
column: 62,
},
end: Position {
line: 30,
column: 74,
},
},
},
),
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "stripAnyPrefixes",
span: Span {
start: Position {
line: 31,
column: 3,
},
end: Position {
line: 31,
column: 19,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 31,
column: 22,
},
end: Position {
line: 31,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "flip",
span: Span {
start: Position {
line: 31,
column: 26,
},
end: Position {
line: 31,
column: 30,
},
},
},
),
],
default: None,
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 31,
column: 32,
},
end: Position {
line: 31,
column: 35,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "foldr",
span: Span {
start: Position {
line: 31,
column: 36,
},
end: Position {
line: 31,
column: 41,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 31,
column: 42,
},
end: Position {
line: 31,
column: 45,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "removePrefix",
span: Span {
start: Position {
line: 31,
column: 46,
},
end: Position {
line: 31,
column: 58,
},
},
},
),
],
default: None,
},
),
],
},
),
Identifier(
Identifier {
id: "prefixesToStrip",
span: Span {
start: Position {
line: 31,
column: 60,
},
end: Position {
line: 31,
column: 75,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "optionsDoc",
span: Span {
start: Position {
line: 33,
column: 3,
},
end: Position {
line: 33,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 33,
column: 16,
},
end: Position {
line: 33,
column: 29,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nixosOptionsDoc",
span: Span {
start: Position {
line: 33,
column: 30,
},
end: Position {
line: 33,
column: 45,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "options",
span: Span {
start: Position {
line: 34,
column: 13,
},
end: Position {
line: 34,
column: 20,
},
},
},
),
Raw(
PartRaw {
content: "revision",
span: Span {
start: Position {
line: 34,
column: 21,
},
end: Position {
line: 34,
column: 29,
},
},
},
),
Raw(
PartRaw {
content: "baseOptionsJSON",
span: Span {
start: Position {
line: 34,
column: 30,
},
end: Position {
line: 34,
column: 45,
},
},
},
),
Raw(
PartRaw {
content: "warningsAreErrors",
span: Span {
start: Position {
line: 34,
column: 46,
},
end: Position {
line: 34,
column: 63,
},
},
},
),
Raw(
PartRaw {
content: "allowDocBook",
span: Span {
start: Position {
line: 34,
column: 64,
},
end: Position {
line: 34,
column: 76,
},
},
},
),
],
span: Span {
start: Position {
line: 33,
column: 47,
},
end: Position {
line: 34,
column: 77,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "transformOptions",
span: Span {
start: Position {
line: 35,
column: 5,
},
end: Position {
line: 35,
column: 21,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "opt",
},
),
body: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "opt",
span: Span {
start: Position {
line: 35,
column: 29,
},
end: Position {
line: 35,
column: 32,
},
},
},
),
operator: Update,
right: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "declarations",
span: Span {
start: Position {
line: 37,
column: 7,
},
end: Position {
line: 37,
column: 19,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "map",
span: Span {
start: Position {
line: 37,
column: 22,
},
end: Position {
line: 37,
column: 25,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "stripAnyPrefixes",
span: Span {
start: Position {
line: 37,
column: 26,
},
end: Position {
line: 37,
column: 42,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "opt",
span: Span {
start: Position {
line: 37,
column: 43,
},
end: Position {
line: 37,
column: 46,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "declarations",
span: Span {
start: Position {
line: 37,
column: 47,
},
end: Position {
line: 37,
column: 59,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 35,
column: 36,
},
end: Position {
line: 38,
column: 6,
},
},
},
),
},
),
span: Span {
start: Position {
line: 35,
column: 24,
},
end: Position {
line: 38,
column: 6,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 33,
column: 46,
},
end: Position {
line: 39,
column: 4,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nixos-lib",
span: Span {
start: Position {
line: 41,
column: 3,
},
end: Position {
line: 41,
column: 12,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "import",
span: Span {
start: Position {
line: 41,
column: 15,
},
end: Position {
line: 41,
column: 21,
},
},
},
),
arguments: [
Path(
Path {
parts: [
Raw(
PartRaw {
content: "../../lib",
span: Span {
start: Position {
line: 41,
column: 22,
},
end: Position {
line: 41,
column: 31,
},
},
},
),
],
span: Span {
start: Position {
line: 41,
column: 22,
},
end: Position {
line: 41,
column: 31,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [],
span: Span {
start: Position {
line: 41,
column: 32,
},
end: Position {
line: 41,
column: 35,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "testOptionsDoc",
span: Span {
start: Position {
line: 43,
column: 3,
},
end: Position {
line: 43,
column: 17,
},
},
},
),
],
to: LetIn(
LetIn {
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "eval",
span: Span {
start: Position {
line: 44,
column: 7,
},
end: Position {
line: 44,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "nixos-lib",
span: Span {
start: Position {
line: 44,
column: 14,
},
end: Position {
line: 44,
column: 23,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "evalTest",
span: Span {
start: Position {
line: 44,
column: 24,
},
end: Position {
line: 44,
column: 32,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "config",
span: Span {
start: Position {
line: 46,
column: 9,
},
end: Position {
line: 46,
column: 15,
},
},
},
),
Raw(
PartRaw {
content: "node",
span: Span {
start: Position {
line: 46,
column: 16,
},
end: Position {
line: 46,
column: 20,
},
},
},
),
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 46,
column: 21,
},
end: Position {
line: 46,
column: 25,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 46,
column: 28,
},
end: Position {
line: 46,
column: 31,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "types",
span: Span {
start: Position {
line: 46,
column: 32,
},
end: Position {
line: 46,
column: 37,
},
},
},
),
Raw(
PartRaw {
content: "deferredModule",
span: Span {
start: Position {
line: 46,
column: 38,
},
end: Position {
line: 46,
column: 52,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "options",
span: Span {
start: Position {
line: 47,
column: 9,
},
end: Position {
line: 47,
column: 16,
},
},
},
),
Raw(
PartRaw {
content: "_module",
span: Span {
start: Position {
line: 47,
column: 17,
},
end: Position {
line: 47,
column: 24,
},
},
},
),
Raw(
PartRaw {
content: "args",
span: Span {
start: Position {
line: 47,
column: 25,
},
end: Position {
line: 47,
column: 29,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 47,
column: 32,
},
end: Position {
line: 47,
column: 35,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "mkOption",
span: Span {
start: Position {
line: 47,
column: 36,
},
end: Position {
line: 47,
column: 44,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "internal",
span: Span {
start: Position {
line: 47,
column: 47,
},
end: Position {
line: 47,
column: 55,
},
},
},
),
],
to: Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 47,
column: 58,
},
end: Position {
line: 47,
column: 62,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 47,
column: 45,
},
end: Position {
line: 47,
column: 65,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 44,
column: 33,
},
end: Position {
line: 48,
column: 8,
},
},
},
),
],
},
),
},
),
],
target: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 49,
column: 8,
},
end: Position {
line: 49,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nixosOptionsDoc",
span: Span {
start: Position {
line: 49,
column: 22,
},
end: Position {
line: 49,
column: 37,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: Some(
Identifier(
Identifier {
id: "eval",
span: Span {
start: Position {
line: 50,
column: 16,
},
end: Position {
line: 50,
column: 20,
},
},
},
),
),
attributes: [
Raw(
PartRaw {
content: "options",
span: Span {
start: Position {
line: 50,
column: 22,
},
end: Position {
line: 50,
column: 29,
},
},
},
),
],
span: Span {
start: Position {
line: 49,
column: 39,
},
end: Position {
line: 50,
column: 30,
},
},
},
),
Inherit(
BindingInherit {
from: Some(
Identifier(
Identifier {
id: "revision",
span: Span {
start: Position {
line: 51,
column: 16,
},
end: Position {
line: 51,
column: 24,
},
},
},
),
),
attributes: [],
span: Span {
start: Position {
line: 49,
column: 39,
},
end: Position {
line: 51,
column: 26,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "transformOptions",
span: Span {
start: Position {
line: 52,
column: 7,
},
end: Position {
line: 52,
column: 23,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "opt",
},
),
body: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "opt",
span: Span {
start: Position {
line: 52,
column: 31,
},
end: Position {
line: 52,
column: 34,
},
},
},
),
operator: Update,
right: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "declarations",
span: Span {
start: Position {
line: 54,
column: 9,
},
end: Position {
line: 54,
column: 21,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "map",
span: Span {
start: Position {
line: 55,
column: 11,
},
end: Position {
line: 55,
column: 14,
},
},
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "decl",
},
),
body: IfThenElse(
IfThenElse {
predicate: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "hasPrefix",
span: Span {
start: Position {
line: 57,
column: 18,
},
end: Position {
line: 57,
column: 27,
},
},
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 57,
column: 29,
},
end: Position {
line: 57,
column: 37,
},
},
},
),
arguments: [
Path(
Path {
parts: [
Raw(
PartRaw {
content: "../../..",
span: Span {
start: Position {
line: 57,
column: 38,
},
end: Position {
line: 57,
column: 46,
},
},
},
),
],
span: Span {
start: Position {
line: 57,
column: 38,
},
end: Position {
line: 57,
column: 46,
},
},
},
),
],
},
),
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 57,
column: 49,
},
end: Position {
line: 57,
column: 57,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "decl",
span: Span {
start: Position {
line: 57,
column: 58,
},
end: Position {
line: 57,
column: 62,
},
},
},
),
],
},
),
],
},
),
then: LetIn(
LetIn {
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "subpath",
span: Span {
start: Position {
line: 59,
column: 21,
},
end: Position {
line: 59,
column: 28,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "removePrefix",
span: Span {
start: Position {
line: 59,
column: 31,
},
end: Position {
line: 59,
column: 43,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "/",
span: Span {
start: Position {
line: 59,
column: 45,
},
end: Position {
line: 59,
column: 46,
},
},
},
),
],
span: Span {
start: Position {
line: 59,
column: 44,
},
end: Position {
line: 59,
column: 47,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "removePrefix",
span: Span {
start: Position {
line: 59,
column: 49,
},
end: Position {
line: 59,
column: 61,
},
},
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 59,
column: 63,
},
end: Position {
line: 59,
column: 71,
},
},
},
),
arguments: [
Path(
Path {
parts: [
Raw(
PartRaw {
content: "../../..",
span: Span {
start: Position {
line: 59,
column: 72,
},
end: Position {
line: 59,
column: 80,
},
},
},
),
],
span: Span {
start: Position {
line: 59,
column: 72,
},
end: Position {
line: 59,
column: 80,
},
},
},
),
],
},
),
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 59,
column: 83,
},
end: Position {
line: 59,
column: 91,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "decl",
span: Span {
start: Position {
line: 59,
column: 92,
},
end: Position {
line: 59,
column: 96,
},
},
},
),
],
},
),
],
},
),
],
},
),
},
),
],
target: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "url",
span: Span {
start: Position {
line: 60,
column: 22,
},
end: Position {
line: 60,
column: 25,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "https://github.com/NixOS/nixpkgs/blob/master/",
span: Span {
start: Position {
line: 60,
column: 29,
},
end: Position {
line: 60,
column: 84,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "subpath",
span: Span {
start: Position {
line: 60,
column: 76,
},
end: Position {
line: 60,
column: 83,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 60,
column: 28,
},
end: Position {
line: 60,
column: 85,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "name",
span: Span {
start: Position {
line: 60,
column: 87,
},
end: Position {
line: 60,
column: 91,
},
},
},
),
],
to: Identifier(
Identifier {
id: "subpath",
span: Span {
start: Position {
line: 60,
column: 94,
},
end: Position {
line: 60,
column: 101,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 60,
column: 20,
},
end: Position {
line: 60,
column: 104,
},
},
},
),
span: Span {
start: Position {
line: 59,
column: 17,
},
end: Position {
line: 60,
column: 104,
},
},
},
),
else_: Identifier(
Identifier {
id: "decl",
span: Span {
start: Position {
line: 61,
column: 20,
},
end: Position {
line: 61,
column: 24,
},
},
},
),
span: Span {
start: Position {
line: 57,
column: 15,
},
end: Position {
line: 61,
column: 24,
},
},
},
),
span: Span {
start: Position {
line: 56,
column: 14,
},
end: Position {
line: 61,
column: 24,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "opt",
span: Span {
start: Position {
line: 62,
column: 13,
},
end: Position {
line: 62,
column: 16,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "declarations",
span: Span {
start: Position {
line: 62,
column: 17,
},
end: Position {
line: 62,
column: 29,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 52,
column: 38,
},
end: Position {
line: 63,
column: 8,
},
},
},
),
},
),
span: Span {
start: Position {
line: 52,
column: 26,
},
end: Position {
line: 63,
column: 8,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "documentType",
span: Span {
start: Position {
line: 64,
column: 7,
},
end: Position {
line: 64,
column: 19,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "none",
span: Span {
start: Position {
line: 64,
column: 23,
},
end: Position {
line: 64,
column: 27,
},
},
},
),
],
span: Span {
start: Position {
line: 64,
column: 22,
},
end: Position {
line: 64,
column: 28,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "variablelistId",
span: Span {
start: Position {
line: 65,
column: 7,
},
end: Position {
line: 65,
column: 21,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "test-options-list",
span: Span {
start: Position {
line: 65,
column: 25,
},
end: Position {
line: 65,
column: 42,
},
},
},
),
],
span: Span {
start: Position {
line: 65,
column: 24,
},
end: Position {
line: 65,
column: 43,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "optionIdPrefix",
span: Span {
start: Position {
line: 66,
column: 7,
},
end: Position {
line: 66,
column: 21,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "test-opt-",
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,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 49,
column: 38,
},
end: Position {
line: 67,
column: 6,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 43,
column: 20,
},
end: Position {
line: 67,
column: 6,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "sources",
span: Span {
start: Position {
line: 69,
column: 3,
},
end: Position {
line: 69,
column: 10,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 69,
column: 13,
},
end: Position {
line: 69,
column: 16,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "sourceFilesBySuffices",
span: Span {
start: Position {
line: 69,
column: 17,
},
end: Position {
line: 69,
column: 38,
},
},
},
),
],
default: None,
},
),
arguments: [
Path(
Path {
parts: [
Raw(
PartRaw {
content: "./.",
span: Span {
start: Position {
line: 69,
column: 39,
},
end: Position {
line: 69,
column: 42,
},
},
},
),
],
span: Span {
start: Position {
line: 69,
column: 39,
},
end: Position {
line: 69,
column: 42,
},
},
},
),
List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: ".xml",
span: Span {
start: Position {
line: 69,
column: 45,
},
end: Position {
line: 69,
column: 49,
},
},
},
),
],
span: Span {
start: Position {
line: 69,
column: 44,
},
end: Position {
line: 69,
column: 50,
},
},
},
),
],
span: Span {
start: Position {
line: 69,
column: 43,
},
end: Position {
line: 69,
column: 51,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "modulesDoc",
span: Span {
start: Position {
line: 71,
column: 3,
},
end: Position {
line: 71,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 71,
column: 16,
},
end: Position {
line: 71,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toFile",
span: Span {
start: Position {
line: 71,
column: 25,
},
end: Position {
line: 71,
column: 31,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "modules.xml",
span: Span {
start: Position {
line: 71,
column: 33,
},
end: Position {
line: 71,
column: 44,
},
},
},
),
],
span: Span {
start: Position {
line: 71,
column: 32,
},
end: Position {
line: 71,
column: 45,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 72,
column: 1,
},
end: Position {
line: 73,
column: 5,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 73,
column: 8,
},
end: Position {
line: 73,
column: 11,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "concatMapStrings",
span: Span {
start: Position {
line: 73,
column: 12,
},
end: Position {
line: 73,
column: 28,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "path",
},
),
body: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 74,
column: 1,
},
end: Position {
line: 75,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 73,
column: 36,
},
end: Position {
line: 75,
column: 7,
},
},
},
),
span: Span {
start: Position {
line: 73,
column: 30,
},
end: Position {
line: 75,
column: 7,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 75,
column: 10,
},
end: Position {
line: 75,
column: 13,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "catAttrs",
span: Span {
start: Position {
line: 75,
column: 14,
},
end: Position {
line: 75,
column: 22,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "value",
span: Span {
start: Position {
line: 75,
column: 24,
},
end: Position {
line: 75,
column: 29,
},
},
},
),
],
span: Span {
start: Position {
line: 75,
column: 23,
},
end: Position {
line: 75,
column: 30,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "config",
span: Span {
start: Position {
line: 75,
column: 31,
},
end: Position {
line: 75,
column: 37,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "meta",
span: Span {
start: Position {
line: 75,
column: 38,
},
end: Position {
line: 75,
column: 42,
},
},
},
),
Raw(
PartRaw {
content: "doc",
span: Span {
start: Position {
line: 75,
column: 43,
},
end: Position {
line: 75,
column: 46,
},
},
},
),
],
default: None,
},
),
],
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n\n",
span: Span {
start: Position {
line: 72,
column: 1,
},
end: Position {
line: 77,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 71,
column: 46,
},
end: Position {
line: 77,
column: 5,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "generatedSources",
span: Span {
start: Position {
line: 79,
column: 3,
},
end: Position {
line: 79,
column: 19,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "runCommand",
span: Span {
start: Position {
line: 79,
column: 22,
},
end: Position {
line: 79,
column: 32,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "generated-docbook",
span: Span {
start: Position {
line: 79,
column: 34,
},
end: Position {
line: 79,
column: 51,
},
},
},
),
],
span: Span {
start: Position {
line: 79,
column: 33,
},
end: Position {
line: 79,
column: 52,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [],
span: Span {
start: Position {
line: 79,
column: 53,
},
end: Position {
line: 79,
column: 55,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "mkdir $out\nln -s ",
span: Span {
start: Position {
line: 80,
column: 1,
},
end: Position {
line: 81,
column: 11,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "modulesDoc",
span: Span {
start: Position {
line: 81,
column: 13,
},
end: Position {
line: 81,
column: 23,
},
},
},
),
},
),
Raw(
PartRaw {
content: " $out/modules.xml\nln -s ",
span: Span {
start: Position {
line: 80,
column: 1,
},
end: Position {
line: 82,
column: 11,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "optionsDoc",
span: Span {
start: Position {
line: 82,
column: 13,
},
end: Position {
line: 82,
column: 23,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "optionsDocBook",
span: Span {
start: Position {
line: 82,
column: 24,
},
end: Position {
line: 82,
column: 38,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: " $out/options-db.xml\nln -s ",
span: Span {
start: Position {
line: 80,
column: 1,
},
end: Position {
line: 83,
column: 11,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "testOptionsDoc",
span: Span {
start: Position {
line: 83,
column: 13,
},
end: Position {
line: 83,
column: 27,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "optionsDocBook",
span: Span {
start: Position {
line: 83,
column: 28,
},
end: Position {
line: 83,
column: 42,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: " $out/test-options-db.xml\nprintf \"%s\" \"",
span: Span {
start: Position {
line: 80,
column: 1,
},
end: Position {
line: 84,
column: 18,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "version",
span: Span {
start: Position {
line: 84,
column: 20,
},
end: Position {
line: 84,
column: 27,
},
},
},
),
},
),
Raw(
PartRaw {
content: "\" > $out/version\n",
span: Span {
start: Position {
line: 80,
column: 1,
},
end: Position {
line: 85,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 79,
column: 56,
},
end: Position {
line: 85,
column: 5,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "copySources",
span: Span {
start: Position {
line: 87,
column: 3,
},
end: Position {
line: 87,
column: 14,
},
},
},
),
],
to: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "cp -prd $sources/* . # */\nln -s ",
span: Span {
start: Position {
line: 89,
column: 1,
},
end: Position {
line: 90,
column: 13,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "generatedSources",
span: Span {
start: Position {
line: 90,
column: 15,
},
end: Position {
line: 90,
column: 31,
},
},
},
),
},
),
Raw(
PartRaw {
content: " ./generated\nchmod -R u+w .\n",
span: Span {
start: Position {
line: 89,
column: 1,
},
end: Position {
line: 92,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 88,
column: 5,
},
end: Position {
line: 92,
column: 7,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "toc",
span: Span {
start: Position {
line: 94,
column: 3,
},
end: Position {
line: 94,
column: 6,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 94,
column: 9,
},
end: Position {
line: 94,
column: 17,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toFile",
span: Span {
start: Position {
line: 94,
column: 18,
},
end: Position {
line: 94,
column: 24,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "toc.xml",
span: Span {
start: Position {
line: 94,
column: 26,
},
end: Position {
line: 94,
column: 33,
},
},
},
),
],
span: Span {
start: Position {
line: 94,
column: 25,
},
end: Position {
line: 94,
column: 34,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n \n \n \n \n\n",
span: Span {
start: Position {
line: 96,
column: 1,
},
end: Position {
line: 102,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 95,
column: 5,
},
end: Position {
line: 102,
column: 7,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manualXsltprocOptions",
span: Span {
start: Position {
line: 104,
column: 3,
},
end: Position {
line: 104,
column: 24,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 104,
column: 27,
},
end: Position {
line: 104,
column: 35,
},
},
},
),
arguments: [
List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param section.autolabel 1",
span: Span {
start: Position {
line: 105,
column: 6,
},
end: Position {
line: 105,
column: 33,
},
},
},
),
],
span: Span {
start: Position {
line: 105,
column: 5,
},
end: Position {
line: 105,
column: 34,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param section.label.includes.component.label 1",
span: Span {
start: Position {
line: 106,
column: 6,
},
end: Position {
line: 106,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 106,
column: 5,
},
end: Position {
line: 106,
column: 55,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'",
span: Span {
start: Position {
line: 107,
column: 6,
},
end: Position {
line: 107,
column: 87,
},
},
},
),
],
span: Span {
start: Position {
line: 107,
column: 5,
},
end: Position {
line: 107,
column: 88,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'",
span: Span {
start: Position {
line: 108,
column: 6,
},
end: Position {
line: 108,
column: 89,
},
},
},
),
],
span: Span {
start: Position {
line: 108,
column: 5,
},
end: Position {
line: 108,
column: 90,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param xref.with.number.and.title 1",
span: Span {
start: Position {
line: 109,
column: 6,
},
end: Position {
line: 109,
column: 42,
},
},
},
),
],
span: Span {
start: Position {
line: 109,
column: 5,
},
end: Position {
line: 109,
column: 43,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param toc.section.depth 0",
span: Span {
start: Position {
line: 110,
column: 6,
},
end: Position {
line: 110,
column: 33,
},
},
},
),
],
span: Span {
start: Position {
line: 110,
column: 5,
},
end: Position {
line: 110,
column: 34,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param generate.consistent.ids 1",
span: Span {
start: Position {
line: 111,
column: 6,
},
end: Position {
line: 111,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 111,
column: 5,
},
end: Position {
line: 111,
column: 40,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--stringparam admon.style ''",
span: Span {
start: Position {
line: 112,
column: 6,
},
end: Position {
line: 112,
column: 34,
},
},
},
),
],
span: Span {
start: Position {
line: 112,
column: 5,
},
end: Position {
line: 112,
column: 35,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--stringparam callout.graphics.extension .svg",
span: Span {
start: Position {
line: 113,
column: 6,
},
end: Position {
line: 113,
column: 51,
},
},
},
),
],
span: Span {
start: Position {
line: 113,
column: 5,
},
end: Position {
line: 113,
column: 52,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--stringparam current.docid manual",
span: Span {
start: Position {
line: 114,
column: 6,
},
end: Position {
line: 114,
column: 40,
},
},
},
),
],
span: Span {
start: Position {
line: 114,
column: 5,
},
end: Position {
line: 114,
column: 41,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param chunk.section.depth 0",
span: Span {
start: Position {
line: 115,
column: 6,
},
end: Position {
line: 115,
column: 35,
},
},
},
),
],
span: Span {
start: Position {
line: 115,
column: 5,
},
end: Position {
line: 115,
column: 36,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param chunk.first.sections 1",
span: Span {
start: Position {
line: 116,
column: 6,
},
end: Position {
line: 116,
column: 36,
},
},
},
),
],
span: Span {
start: Position {
line: 116,
column: 5,
},
end: Position {
line: 116,
column: 37,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--param use.id.as.filename 1",
span: Span {
start: Position {
line: 117,
column: 6,
},
end: Position {
line: 117,
column: 34,
},
},
},
),
],
span: Span {
start: Position {
line: 117,
column: 5,
},
end: Position {
line: 117,
column: 35,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--stringparam chunk.toc ",
span: Span {
start: Position {
line: 118,
column: 6,
},
end: Position {
line: 118,
column: 36,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "toc",
span: Span {
start: Position {
line: 118,
column: 32,
},
end: Position {
line: 118,
column: 35,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 118,
column: 5,
},
end: Position {
line: 118,
column: 37,
},
},
},
),
],
span: Span {
start: Position {
line: 104,
column: 36,
},
end: Position {
line: 119,
column: 4,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manual-combined",
span: Span {
start: Position {
line: 121,
column: 3,
},
end: Position {
line: 121,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "runCommand",
span: Span {
start: Position {
line: 121,
column: 21,
},
end: Position {
line: 121,
column: 31,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "nixos-manual-combined",
span: Span {
start: Position {
line: 121,
column: 33,
},
end: Position {
line: 121,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 121,
column: 32,
},
end: Position {
line: 121,
column: 55,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "sources",
span: Span {
start: Position {
line: 122,
column: 15,
},
end: Position {
line: 122,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 122,
column: 6,
},
end: Position {
line: 122,
column: 23,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nativeBuildInputs",
span: Span {
start: Position {
line: 123,
column: 7,
},
end: Position {
line: 123,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 123,
column: 29,
},
end: Position {
line: 123,
column: 42,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxml2",
span: Span {
start: Position {
line: 123,
column: 43,
},
end: Position {
line: 123,
column: 50,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 123,
column: 51,
},
end: Position {
line: 123,
column: 54,
},
},
},
),
],
default: None,
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 123,
column: 55,
},
end: Position {
line: 123,
column: 68,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxslt",
span: Span {
start: Position {
line: 123,
column: 69,
},
end: Position {
line: 123,
column: 76,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 123,
column: 77,
},
end: Position {
line: 123,
column: 80,
},
},
},
),
],
default: None,
},
),
],
span: Span {
start: Position {
line: 123,
column: 27,
},
end: Position {
line: 123,
column: 82,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "meta",
span: Span {
start: Position {
line: 124,
column: 7,
},
end: Position {
line: 124,
column: 11,
},
},
},
),
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 124,
column: 12,
},
end: Position {
line: 124,
column: 23,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "The NixOS manual as plain docbook XML",
span: Span {
start: Position {
line: 124,
column: 27,
},
end: Position {
line: 124,
column: 64,
},
},
},
),
],
span: Span {
start: Position {
line: 124,
column: 26,
},
end: Position {
line: 124,
column: 65,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 122,
column: 5,
},
end: Position {
line: 125,
column: 6,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "",
span: Span {
start: Position {
line: 127,
column: 1,
},
end: Position {
line: 127,
column: 7,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "copySources",
span: Span {
start: Position {
line: 127,
column: 9,
},
end: Position {
line: 127,
column: 20,
},
},
},
),
},
),
Raw(
PartRaw {
content: "\n\nxmllint --xinclude --output ./manual-combined.xml ./manual.xml\nxmllint --xinclude --noxincludenode \\\n --output ./man-pages-combined.xml ./man-pages.xml\n\n# outputs the context of an xmllint error output\n# LEN lines around the failing line are printed\nfunction context {\n # length of context\n local LEN=6\n # lines to print before error line\n local BEFORE=4\n\n # xmllint output lines are:\n # file.xml:1234: there was an error on line 1234\n while IFS=':' read -r file line rest; do\n echo\n if [[ -n \"$rest\" ]]; then\n echo \"$file:$line:$rest\"\n local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1))\n # number lines & filter context\n nl --body-numbering=a \"$file\" | sed -n \"$FROM,+$LEN p\"\n else\n if [[ -n \"$line\" ]]; then\n echo \"$file:$line\"\n else\n echo \"$file\"\n fi\n fi\n done\n}\n\nfunction lintrng {\n xmllint --debug --noout --nonet \\\n --relaxng ",
span: Span {
start: Position {
line: 127,
column: 1,
},
end: Position {
line: 162,
column: 21,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook5",
span: Span {
start: Position {
line: 162,
column: 23,
},
end: Position {
line: 162,
column: 31,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/rng/docbook/docbook.rng \\\n \"$1\" \\\n 2>&1 | context 1>&2\n # ^ redirect assumes xmllint doesn’t print to stdout\n}\n\nmkdir $out\ncp manual-combined.xml $out/\ncp man-pages-combined.xml $out/\n\nlintrng $out/manual-combined.xml\nlintrng $out/man-pages-combined.xml\n",
span: Span {
start: Position {
line: 127,
column: 1,
},
end: Position {
line: 174,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 126,
column: 5,
},
end: Position {
line: 174,
column: 7,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "olinkDB",
span: Span {
start: Position {
line: 176,
column: 3,
},
end: Position {
line: 176,
column: 10,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "runCommand",
span: Span {
start: Position {
line: 176,
column: 13,
},
end: Position {
line: 176,
column: 23,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "manual-olinkdb",
span: Span {
start: Position {
line: 176,
column: 25,
},
end: Position {
line: 176,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 176,
column: 24,
},
end: Position {
line: 176,
column: 40,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "sources",
span: Span {
start: Position {
line: 177,
column: 15,
},
end: Position {
line: 177,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 177,
column: 6,
},
end: Position {
line: 177,
column: 23,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nativeBuildInputs",
span: Span {
start: Position {
line: 178,
column: 7,
},
end: Position {
line: 178,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 178,
column: 29,
},
end: Position {
line: 178,
column: 42,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxml2",
span: Span {
start: Position {
line: 178,
column: 43,
},
end: Position {
line: 178,
column: 50,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 178,
column: 51,
},
end: Position {
line: 178,
column: 54,
},
},
},
),
],
default: None,
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 178,
column: 55,
},
end: Position {
line: 178,
column: 68,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxslt",
span: Span {
start: Position {
line: 178,
column: 69,
},
end: Position {
line: 178,
column: 76,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 178,
column: 77,
},
end: Position {
line: 178,
column: 80,
},
},
},
),
],
default: None,
},
),
],
span: Span {
start: Position {
line: 178,
column: 27,
},
end: Position {
line: 178,
column: 82,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 177,
column: 5,
},
end: Position {
line: 179,
column: 6,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "xsltproc \\\n ",
span: Span {
start: Position {
line: 181,
column: 1,
},
end: Position {
line: 182,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manualXsltprocOptions",
span: Span {
start: Position {
line: 182,
column: 11,
},
end: Position {
line: 182,
column: 32,
},
},
},
),
},
),
Raw(
PartRaw {
content: " \\\n --stringparam collect.xref.targets only \\\n --stringparam targets.filename \"$out/manual.db\" \\\n --nonet \\\n ",
span: Span {
start: Position {
line: 181,
column: 1,
},
end: Position {
line: 186,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook_xsl_ns",
span: Span {
start: Position {
line: 186,
column: 11,
},
end: Position {
line: 186,
column: 25,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/xsl/docbook/xhtml/chunktoc.xsl \\\n ",
span: Span {
start: Position {
line: 181,
column: 1,
},
end: Position {
line: 187,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manual-combined",
span: Span {
start: Position {
line: 187,
column: 11,
},
end: Position {
line: 187,
column: 26,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/manual-combined.xml\n\ncat > \"$out/olinkdb.xml\" <\n\n]>\n\n \n Allows for cross-referencing olinks between the manpages\n and manual.\n \n\n &manualtargets;\n\nEOF\n",
span: Span {
start: Position {
line: 181,
column: 1,
},
end: Position {
line: 204,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 180,
column: 5,
},
end: Position {
line: 204,
column: 7,
},
},
},
),
],
},
),
},
),
],
target: Map(
Map {
recursive: true,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "generatedSources",
span: Span {
start: Position {
line: 207,
column: 11,
},
end: Position {
line: 207,
column: 27,
},
},
},
),
],
span: Span {
start: Position {
line: 206,
column: 9,
},
end: Position {
line: 207,
column: 28,
},
},
},
),
Inherit(
BindingInherit {
from: Some(
Identifier(
Identifier {
id: "optionsDoc",
span: Span {
start: Position {
line: 209,
column: 12,
},
end: Position {
line: 209,
column: 22,
},
},
},
),
),
attributes: [
Raw(
PartRaw {
content: "optionsJSON",
span: Span {
start: Position {
line: 209,
column: 24,
},
end: Position {
line: 209,
column: 35,
},
},
},
),
Raw(
PartRaw {
content: "optionsNix",
span: Span {
start: Position {
line: 209,
column: 36,
},
end: Position {
line: 209,
column: 46,
},
},
},
),
Raw(
PartRaw {
content: "optionsDocBook",
span: Span {
start: Position {
line: 209,
column: 47,
},
end: Position {
line: 209,
column: 61,
},
},
},
),
],
span: Span {
start: Position {
line: 206,
column: 9,
},
end: Position {
line: 209,
column: 62,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manualHTML",
span: Span {
start: Position {
line: 212,
column: 3,
},
end: Position {
line: 212,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "runCommand",
span: Span {
start: Position {
line: 212,
column: 16,
},
end: Position {
line: 212,
column: 26,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "nixos-manual-html",
span: Span {
start: Position {
line: 212,
column: 28,
},
end: Position {
line: 212,
column: 45,
},
},
},
),
],
span: Span {
start: Position {
line: 212,
column: 27,
},
end: Position {
line: 212,
column: 46,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "sources",
span: Span {
start: Position {
line: 213,
column: 15,
},
end: Position {
line: 213,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 213,
column: 6,
},
end: Position {
line: 213,
column: 23,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nativeBuildInputs",
span: Span {
start: Position {
line: 214,
column: 7,
},
end: Position {
line: 214,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 214,
column: 29,
},
end: Position {
line: 214,
column: 42,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxml2",
span: Span {
start: Position {
line: 214,
column: 43,
},
end: Position {
line: 214,
column: 50,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 214,
column: 51,
},
end: Position {
line: 214,
column: 54,
},
},
},
),
],
default: None,
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 214,
column: 55,
},
end: Position {
line: 214,
column: 68,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxslt",
span: Span {
start: Position {
line: 214,
column: 69,
},
end: Position {
line: 214,
column: 76,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 214,
column: 77,
},
end: Position {
line: 214,
column: 80,
},
},
},
),
],
default: None,
},
),
],
span: Span {
start: Position {
line: 214,
column: 27,
},
end: Position {
line: 214,
column: 82,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "meta",
span: Span {
start: Position {
line: 215,
column: 7,
},
end: Position {
line: 215,
column: 11,
},
},
},
),
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 215,
column: 12,
},
end: Position {
line: 215,
column: 23,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "The NixOS manual in HTML format",
span: Span {
start: Position {
line: 215,
column: 27,
},
end: Position {
line: 215,
column: 58,
},
},
},
),
],
span: Span {
start: Position {
line: 215,
column: 26,
},
end: Position {
line: 215,
column: 59,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "allowedReferences",
span: Span {
start: Position {
line: 216,
column: 7,
},
end: Position {
line: 216,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "out",
span: Span {
start: Position {
line: 216,
column: 29,
},
end: Position {
line: 216,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 216,
column: 28,
},
end: Position {
line: 216,
column: 33,
},
},
},
),
],
span: Span {
start: Position {
line: 216,
column: 27,
},
end: Position {
line: 216,
column: 34,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 213,
column: 5,
},
end: Position {
line: 217,
column: 6,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "# Generate the HTML manual.\ndst=$out/share/doc/nixos\nmkdir -p $dst\nxsltproc \\\n ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 223,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manualXsltprocOptions",
span: Span {
start: Position {
line: 223,
column: 11,
},
end: Position {
line: 223,
column: 32,
},
},
},
),
},
),
Raw(
PartRaw {
content: " \\\n --stringparam target.database.document \"",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 224,
column: 49,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "olinkDB",
span: Span {
start: Position {
line: 224,
column: 51,
},
end: Position {
line: 224,
column: 58,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/olinkdb.xml\" \\\n --stringparam id.warnings \"1\" \\\n --nonet --output $dst/ \\\n ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 227,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook_xsl_ns",
span: Span {
start: Position {
line: 227,
column: 11,
},
end: Position {
line: 227,
column: 25,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/xsl/docbook/xhtml/chunktoc.xsl \\\n ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 228,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manual-combined",
span: Span {
start: Position {
line: 228,
column: 11,
},
end: Position {
line: 228,
column: 26,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/manual-combined.xml \\\n |& tee xsltproc.out\ngrep \"^ID recommended on\" xsltproc.out &>/dev/null && echo \"error: some IDs are missing\" && false\nrm xsltproc.out\n\nmkdir -p $dst/images/callouts\ncp ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 234,
column: 10,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook_xsl_ns",
span: Span {
start: Position {
line: 234,
column: 12,
},
end: Position {
line: 234,
column: 26,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/xsl/docbook/images/callouts/*.svg $dst/images/callouts/\n\ncp ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 236,
column: 10,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Path(
Path {
parts: [
Raw(
PartRaw {
content: "../../../doc/style.css",
span: Span {
start: Position {
line: 236,
column: 12,
},
end: Position {
line: 236,
column: 34,
},
},
},
),
],
span: Span {
start: Position {
line: 236,
column: 12,
},
end: Position {
line: 236,
column: 34,
},
},
},
),
},
),
Raw(
PartRaw {
content: " $dst/style.css\ncp ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 237,
column: 10,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Path(
Path {
parts: [
Raw(
PartRaw {
content: "../../../doc/overrides.css",
span: Span {
start: Position {
line: 237,
column: 12,
},
end: Position {
line: 237,
column: 38,
},
},
},
),
],
span: Span {
start: Position {
line: 237,
column: 12,
},
end: Position {
line: 237,
column: 38,
},
},
},
),
},
),
Raw(
PartRaw {
content: " $dst/overrides.css\ncp -r ",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 238,
column: 13,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 238,
column: 15,
},
end: Position {
line: 238,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "documentation-highlighter",
span: Span {
start: Position {
line: 238,
column: 20,
},
end: Position {
line: 238,
column: 45,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: " $dst/highlightjs\n\nmkdir -p $out/nix-support\necho \"nix-build out $out\" >> $out/nix-support/hydra-build-products\necho \"doc manual $dst\" >> $out/nix-support/hydra-build-products\n",
span: Span {
start: Position {
line: 219,
column: 1,
},
end: Position {
line: 243,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 218,
column: 5,
},
end: Position {
line: 243,
column: 7,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manual",
span: Span {
start: Position {
line: 246,
column: 3,
},
end: Position {
line: 246,
column: 9,
},
},
},
),
],
to: Identifier(
Identifier {
id: "manualHTML",
span: Span {
start: Position {
line: 246,
column: 12,
},
end: Position {
line: 246,
column: 22,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manualHTMLIndex",
span: Span {
start: Position {
line: 249,
column: 3,
},
end: Position {
line: 249,
column: 18,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manualHTML",
span: Span {
start: Position {
line: 249,
column: 24,
},
end: Position {
line: 249,
column: 34,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/share/doc/nixos/index.html",
span: Span {
start: Position {
line: 249,
column: 22,
},
end: Position {
line: 249,
column: 62,
},
},
},
),
],
span: Span {
start: Position {
line: 249,
column: 21,
},
end: Position {
line: 249,
column: 63,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manualEpub",
span: Span {
start: Position {
line: 251,
column: 3,
},
end: Position {
line: 251,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "runCommand",
span: Span {
start: Position {
line: 251,
column: 16,
},
end: Position {
line: 251,
column: 26,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "nixos-manual-epub",
span: Span {
start: Position {
line: 251,
column: 28,
},
end: Position {
line: 251,
column: 45,
},
},
},
),
],
span: Span {
start: Position {
line: 251,
column: 27,
},
end: Position {
line: 251,
column: 46,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "sources",
span: Span {
start: Position {
line: 252,
column: 15,
},
end: Position {
line: 252,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 252,
column: 6,
},
end: Position {
line: 252,
column: 23,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nativeBuildInputs",
span: Span {
start: Position {
line: 253,
column: 7,
},
end: Position {
line: 253,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 253,
column: 29,
},
end: Position {
line: 253,
column: 42,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxml2",
span: Span {
start: Position {
line: 253,
column: 43,
},
end: Position {
line: 253,
column: 50,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 253,
column: 51,
},
end: Position {
line: 253,
column: 54,
},
},
},
),
],
default: None,
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 253,
column: 55,
},
end: Position {
line: 253,
column: 68,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxslt",
span: Span {
start: Position {
line: 253,
column: 69,
},
end: Position {
line: 253,
column: 76,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 253,
column: 77,
},
end: Position {
line: 253,
column: 80,
},
},
},
),
],
default: None,
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 253,
column: 81,
},
end: Position {
line: 253,
column: 94,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "zip",
span: Span {
start: Position {
line: 253,
column: 95,
},
end: Position {
line: 253,
column: 98,
},
},
},
),
],
default: None,
},
),
],
span: Span {
start: Position {
line: 253,
column: 27,
},
end: Position {
line: 253,
column: 100,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 252,
column: 5,
},
end: Position {
line: 254,
column: 6,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "# Generate the epub manual.\ndst=$out/share/doc/nixos\n\nxsltproc \\\n ",
span: Span {
start: Position {
line: 256,
column: 1,
},
end: Position {
line: 260,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manualXsltprocOptions",
span: Span {
start: Position {
line: 260,
column: 11,
},
end: Position {
line: 260,
column: 32,
},
},
},
),
},
),
Raw(
PartRaw {
content: " \\\n --stringparam target.database.document \"",
span: Span {
start: Position {
line: 256,
column: 1,
},
end: Position {
line: 261,
column: 49,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "olinkDB",
span: Span {
start: Position {
line: 261,
column: 51,
},
end: Position {
line: 261,
column: 58,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/olinkdb.xml\" \\\n --nonet --xinclude --output $dst/epub/ \\\n ",
span: Span {
start: Position {
line: 256,
column: 1,
},
end: Position {
line: 263,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook_xsl_ns",
span: Span {
start: Position {
line: 263,
column: 11,
},
end: Position {
line: 263,
column: 25,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/xsl/docbook/epub/docbook.xsl \\\n ",
span: Span {
start: Position {
line: 256,
column: 1,
},
end: Position {
line: 264,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manual-combined",
span: Span {
start: Position {
line: 264,
column: 11,
},
end: Position {
line: 264,
column: 26,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/manual-combined.xml\n\nmkdir -p $dst/epub/OEBPS/images/callouts\ncp -r ",
span: Span {
start: Position {
line: 256,
column: 1,
},
end: Position {
line: 267,
column: 13,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook_xsl_ns",
span: Span {
start: Position {
line: 267,
column: 15,
},
end: Position {
line: 267,
column: 29,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/xsl/docbook/images/callouts/*.svg $dst/epub/OEBPS/images/callouts # */\necho \"application/epub+zip\" > mimetype\nmanual=\"$dst/nixos-manual.epub\"\nzip -0Xq \"$manual\" mimetype\ncd $dst/epub && zip -Xr9D \"$manual\" *\n\nrm -rf $dst/epub\n\nmkdir -p $out/nix-support\necho \"doc-epub manual $manual\" >> $out/nix-support/hydra-build-products\n",
span: Span {
start: Position {
line: 256,
column: 1,
},
end: Position {
line: 277,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 255,
column: 5,
},
end: Position {
line: 277,
column: 7,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "manpages",
span: Span {
start: Position {
line: 281,
column: 3,
},
end: Position {
line: 281,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "runCommand",
span: Span {
start: Position {
line: 281,
column: 14,
},
end: Position {
line: 281,
column: 24,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "nixos-manpages",
span: Span {
start: Position {
line: 281,
column: 26,
},
end: Position {
line: 281,
column: 40,
},
},
},
),
],
span: Span {
start: Position {
line: 281,
column: 25,
},
end: Position {
line: 281,
column: 41,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "sources",
span: Span {
start: Position {
line: 282,
column: 15,
},
end: Position {
line: 282,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 282,
column: 6,
},
end: Position {
line: 282,
column: 23,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nativeBuildInputs",
span: Span {
start: Position {
line: 283,
column: 7,
},
end: Position {
line: 283,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 283,
column: 29,
},
end: Position {
line: 283,
column: 42,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxml2",
span: Span {
start: Position {
line: 283,
column: 43,
},
end: Position {
line: 283,
column: 50,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 283,
column: 51,
},
end: Position {
line: 283,
column: 54,
},
},
},
),
],
default: None,
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "buildPackages",
span: Span {
start: Position {
line: 283,
column: 55,
},
end: Position {
line: 283,
column: 68,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "libxslt",
span: Span {
start: Position {
line: 283,
column: 69,
},
end: Position {
line: 283,
column: 76,
},
},
},
),
Raw(
PartRaw {
content: "bin",
span: Span {
start: Position {
line: 283,
column: 77,
},
end: Position {
line: 283,
column: 80,
},
},
},
),
],
default: None,
},
),
],
span: Span {
start: Position {
line: 283,
column: 27,
},
end: Position {
line: 283,
column: 82,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "allowedReferences",
span: Span {
start: Position {
line: 284,
column: 7,
},
end: Position {
line: 284,
column: 24,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "out",
span: Span {
start: Position {
line: 284,
column: 29,
},
end: Position {
line: 284,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 284,
column: 28,
},
end: Position {
line: 284,
column: 33,
},
},
},
),
],
span: Span {
start: Position {
line: 284,
column: 27,
},
end: Position {
line: 284,
column: 34,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 282,
column: 5,
},
end: Position {
line: 285,
column: 6,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "# Generate manpages.\nmkdir -p $out/share/man\nxsltproc --nonet \\\n --maxdepth 6000 \\\n --param man.output.in.separate.dir 1 \\\n --param man.output.base.dir \"",
span: Span {
start: Position {
line: 287,
column: 1,
},
end: Position {
line: 292,
column: 38,
},
},
},
),
Raw(
PartRaw {
content: "'",
span: Span {
start: Position {
line: 287,
column: 1,
},
end: Position {
line: 292,
column: 39,
},
},
},
),
Raw(
PartRaw {
content: "$out/share/man/'\" \\\n --param man.endnotes.are.numbered 0 \\\n --param man.break.after.slash 1 \\\n --stringparam target.database.document \"",
span: Span {
start: Position {
line: 287,
column: 1,
},
end: Position {
line: 295,
column: 49,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "olinkDB",
span: Span {
start: Position {
line: 295,
column: 51,
},
end: Position {
line: 295,
column: 58,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/olinkdb.xml\" \\\n ",
span: Span {
start: Position {
line: 287,
column: 1,
},
end: Position {
line: 296,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "docbook_xsl_ns",
span: Span {
start: Position {
line: 296,
column: 11,
},
end: Position {
line: 296,
column: 25,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/xml/xsl/docbook/manpages/docbook.xsl \\\n ",
span: Span {
start: Position {
line: 287,
column: 1,
},
end: Position {
line: 297,
column: 9,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "manual-combined",
span: Span {
start: Position {
line: 297,
column: 11,
},
end: Position {
line: 297,
column: 26,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/man-pages-combined.xml\n",
span: Span {
start: Position {
line: 287,
column: 1,
},
end: Position {
line: 298,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 286,
column: 5,
},
end: Position {
line: 298,
column: 7,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 206,
column: 4,
},
end: Position {
line: 300,
column: 2,
},
},
},
),
span: Span {
start: Position {
line: 15,
column: 1,
},
end: Position {
line: 300,
column: 2,
},
},
},
),
span: Span {
start: Position {
line: 13,
column: 1,
},
end: Position {
line: 300,
column: 2,
},
},
},
),
span: Span {
start: Position {
line: 1,
column: 1,
},
end: Position {
line: 300,
column: 2,
},
},
},
)