Function( Function { head: Destructured( FunctionHeadDestructured { ellipsis: false, identifier: None, arguments: [ FunctionHeadDestructuredArgument { identifier: "pkgs", default: None, }, FunctionHeadDestructuredArgument { identifier: "nixpkgs", default: None, }, FunctionHeadDestructuredArgument { identifier: "version", default: None, }, FunctionHeadDestructuredArgument { identifier: "versionSuffix", default: None, }, ], }, ), body: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 7, column: 1, }, end: Position { line: 7, column: 5, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "releaseTools", span: Span { start: Position { line: 7, column: 6, }, end: Position { line: 7, column: 18, }, }, }, ), Raw( PartRaw { content: "makeSourceTarball", span: Span { start: Position { line: 7, column: 19, }, end: Position { line: 7, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 8, column: 3, }, end: Position { line: 8, column: 7, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "nixos-channel", span: Span { start: Position { line: 8, column: 11, }, end: Position { line: 8, column: 24, }, }, }, ), ], span: Span { start: Position { line: 8, column: 10, }, end: Position { line: 8, column: 25, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "src", span: Span { start: Position { line: 10, column: 3, }, end: Position { line: 10, column: 6, }, }, }, ), ], to: Identifier( Identifier { id: "nixpkgs", span: Span { start: Position { line: 10, column: 9, }, end: Position { line: 10, column: 16, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "officialRelease", span: Span { start: Position { line: 12, column: 3, }, end: Position { line: 12, column: 18, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 12, column: 21, }, end: Position { line: 12, column: 26, }, }, }, ), }, ), Inherit( BindingInherit { from: None, attributes: [ Raw( PartRaw { content: "version", span: Span { start: Position { line: 13, column: 11, }, end: Position { line: 13, column: 18, }, }, }, ), Raw( PartRaw { content: "versionSuffix", span: Span { start: Position { line: 13, column: 19, }, end: Position { line: 13, column: 32, }, }, }, ), ], span: Span { start: Position { line: 7, column: 38, }, end: Position { line: 13, column: 33, }, }, }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "buildInputs", span: Span { start: Position { line: 15, column: 3, }, end: Position { line: 15, column: 14, }, }, }, ), ], to: List( List { elements: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 15, column: 19, }, end: Position { line: 15, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nix", span: Span { start: Position { line: 15, column: 24, }, end: Position { line: 15, column: 27, }, }, }, ), ], default: None, }, ), ], span: Span { start: Position { line: 15, column: 17, }, end: Position { line: 15, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "distPhase", span: Span { start: Position { line: 17, column: 3, }, end: Position { line: 17, column: 12, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "rm -rf .git\necho -n $VERSION_SUFFIX > .version-suffix\necho -n ", span: Span { start: Position { line: 18, column: 1, }, end: Position { line: 20, column: 13, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "nixpkgs", span: Span { start: Position { line: 20, column: 15, }, end: Position { line: 20, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "rev", span: Span { start: Position { line: 20, column: 23, }, end: Position { line: 20, column: 26, }, }, }, ), ], default: Some( PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "nixpkgs", span: Span { start: Position { line: 20, column: 30, }, end: Position { line: 20, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "shortRev", span: Span { start: Position { line: 20, column: 38, }, end: Position { line: 20, column: 46, }, }, }, ), ], default: None, }, ), ), }, ), }, ), Raw( PartRaw { content: " > .git-revision\nreleaseName=nixos-$VERSION$VERSION_SUFFIX\nmkdir -p $out/tarballs\ncp -prd . ../$releaseName\nchmod -R u+w ../$releaseName\nln -s . ../$releaseName/nixpkgs # hack to make ‘’ work\nNIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP --meta --xml \\* > /dev/null\ncd ..\nchmod -R u+w $releaseName\ntar cfJ $out/tarballs/$releaseName.tar.xz $releaseName\n", span: Span { start: Position { line: 18, column: 1, }, end: Position { line: 30, column: 3, }, }, }, ), ], span: Span { start: Position { line: 17, column: 15, }, end: Position { line: 30, column: 5, }, }, }, ), }, ), ], span: Span { start: Position { line: 7, column: 37, }, end: Position { line: 31, column: 2, }, }, }, ), ], }, ), span: Span { start: Position { line: 5, column: 1, }, end: Position { line: 31, column: 2, }, }, }, )