[{"data":1,"prerenderedAt":464},["ShallowReactive",2],{"navigation_docs_en":3,"\u002Fen\u002Freference\u002Freader":85,"\u002Fen\u002Freference\u002Freader-surround":459},[4,19,41,75],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Getting started","i-lucide-book-open","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,14],{"title":11,"path":12,"stem":13},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F1.installation",{"title":15,"path":16,"stem":17},"Your first Pin","\u002Fen\u002Fgetting-started\u002Ffirst-pin","en\u002F1.getting-started\u002F2.first-pin",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Guides","i-lucide-route","\u002Fen\u002Fguides","en\u002F2.guides",[25,29,33,37],{"title":26,"path":27,"stem":28},"Updating and selecting Pins","\u002Fen\u002Fguides\u002Fupdating","en\u002F2.guides\u002F1.updating",{"title":30,"path":31,"stem":32},"Combining Checkers and Fetchers","\u002Fen\u002Fguides\u002Fcombinations","en\u002F2.guides\u002F2.combinations",{"title":34,"path":35,"stem":36},"Multiple Sources and patches","\u002Fen\u002Fguides\u002Fmulti-source","en\u002F2.guides\u002F3.multi-source",{"title":38,"path":39,"stem":40},"Packages and dependency hashes","\u002Fen\u002Fguides\u002Fdependencies","en\u002F2.guides\u002F4.dependencies",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":18},"Reference","i-lucide-code","\u002Fen\u002Freference","en\u002F3.reference",[47,51,55,59,63,67,71],{"title":48,"path":49,"stem":50},"CLI","\u002Fen\u002Freference\u002Fcli","en\u002F3.reference\u002F1.cli",{"title":52,"path":53,"stem":54},"Runtime configuration","\u002Fen\u002Freference\u002Fconfiguration","en\u002F3.reference\u002F2.configuration",{"title":56,"path":57,"stem":58},"Pin declarations","\u002Fen\u002Freference\u002Fpins","en\u002F3.reference\u002F3.pins",{"title":60,"path":61,"stem":62},"Checkers","\u002Fen\u002Freference\u002Fcheckers","en\u002F3.reference\u002F4.checkers",{"title":64,"path":65,"stem":66},"Fetchers","\u002Fen\u002Freference\u002Ffetchers","en\u002F3.reference\u002F5.fetchers",{"title":68,"path":69,"stem":70},"Package Builders","\u002Fen\u002Freference\u002Fbuilders","en\u002F3.reference\u002F6.builders",{"title":72,"path":73,"stem":74},"Reader and Pins File","\u002Fen\u002Freference\u002Freader","en\u002F3.reference\u002F7.reader",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":18},"Troubleshooting","i-lucide-wrench","\u002Fen\u002Ftroubleshooting","en\u002F4.troubleshooting",[81],{"title":82,"path":83,"stem":84},"Common errors","\u002Fen\u002Ftroubleshooting\u002Fcommon-errors","en\u002F4.troubleshooting\u002F1.common-errors",{"id":86,"title":72,"body":87,"description":452,"extension":453,"links":454,"meta":455,"navigation":456,"path":73,"seo":457,"stem":74,"__hash__":458},"docs_en\u002Fen\u002F3.reference\u002F7.reader.md",{"type":88,"value":89,"toc":446},"minimark",[90,99,104,171,305,312,316,396,407,411,420,427,431,442],[91,92,93,94,98],"p",{},"The Reader lives at ",[95,96,97],"code",{},"nix\u002Fpins.nix"," in the source repository. It reads schema v2 Pins Files and converts locked Fetcher arguments and real hashes into Nix inputs.",[100,101,103],"h2",{"id":102},"arguments","Arguments",[105,106,107,123],"table",{},[108,109,110],"thead",{},[111,112,113,117,120],"tr",{},[114,115,116],"th",{},"Argument",[114,118,119],{},"Default",[114,121,122],{},"Meaning",[124,125,126,140,156],"tbody",{},[111,127,128,134,137],{},[129,130,131],"td",{},[95,132,133],{},"pkgs",[129,135,136],{},"Required",[129,138,139],{},"Nixpkgs package set compatible with the configuration",[111,141,142,147,153],{},[129,143,144],{},[95,145,146],{},"file",[129,148,149,152],{},[95,150,151],{},"pins.json"," in the Reader's parent directory",[129,154,155],{},"Pins File to read; usually supplied explicitly",[111,157,158,163,168],{},[129,159,160],{},[95,161,162],{},"config",[129,164,165],{},[95,166,167],{},"null",[129,169,170],{},"Optional Pin configuration for restoring patched sources and Packages",[172,173,178],"pre",{"className":174,"code":175,"language":176,"meta":177,"style":177},"language-nix shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","let\n  pkgs = import \u003Cnixpkgs> {};\n  pins = import ..\u002Fnix\u002Fpins.nix {\n    inherit pkgs;\n    file = .\u002Fpins.json;\n    config = .\u002Fpins-config.nix;\n  };\nin\npins.patchelf.sources.default.src\n","nix","",[95,179,180,189,211,227,239,252,265,271,277],{"__ignoreMap":177},[181,182,185],"span",{"class":183,"line":184},"line",1,[181,186,188],{"class":187},"sbssI","let\n",[181,190,192,196,200,204,208],{"class":183,"line":191},2,[181,193,195],{"class":194},"spNyl","  pkgs",[181,197,199],{"class":198},"sMK4o"," =",[181,201,203],{"class":202},"s2Zo4"," import",[181,205,207],{"class":206},"sfazB"," \u003Cnixpkgs>",[181,209,210],{"class":198}," {};\n",[181,212,214,217,219,221,224],{"class":183,"line":213},3,[181,215,216],{"class":194},"  pins",[181,218,199],{"class":198},[181,220,203],{"class":202},[181,222,223],{"class":206}," ..\u002Fnix\u002Fpins.nix",[181,225,226],{"class":198}," {\n",[181,228,230,233,236],{"class":183,"line":229},4,[181,231,232],{"class":187},"    inherit",[181,234,235],{"class":194}," pkgs",[181,237,238],{"class":198},";\n",[181,240,242,245,247,250],{"class":183,"line":241},5,[181,243,244],{"class":194},"    file",[181,246,199],{"class":198},[181,248,249],{"class":206}," .\u002Fpins.json",[181,251,238],{"class":198},[181,253,255,258,260,263],{"class":183,"line":254},6,[181,256,257],{"class":194},"    config",[181,259,199],{"class":198},[181,261,262],{"class":206}," .\u002Fpins-config.nix",[181,264,238],{"class":198},[181,266,268],{"class":183,"line":267},7,[181,269,270],{"class":198},"  };\n",[181,272,274],{"class":183,"line":273},8,[181,275,276],{"class":187},"in\n",[181,278,280,284,287,290,292,295,297,300,302],{"class":183,"line":279},9,[181,281,283],{"class":282},"sHdIc","pins",[181,285,286],{"class":198},".",[181,288,289],{"class":282},"patchelf",[181,291,286],{"class":198},[181,293,294],{"class":282},"sources",[181,296,286],{"class":198},[181,298,299],{"class":282},"default",[181,301,286],{"class":198},[181,303,304],{"class":282},"src\n",[91,306,307,308,311],{},"Relative paths resolve from the location of this Nix file. ",[95,309,310],{},"..\u002Fnix\u002Fpins.nix"," is the Reader path used by the quick start. Other projects should replace it with their own pinned tool source path.",[100,313,315],{"id":314},"return-structure","Return structure",[105,317,318,328],{},[108,319,320],{},[111,321,322,325],{},[114,323,324],{},"Path",[114,326,327],{},"Contents",[124,329,330,340,350,360,370,383],{},[111,331,332,337],{},[129,333,334],{},[95,335,336],{},"pins.\u003Cpin>.version",[129,338,339],{},"Original locked Version",[111,341,342,347],{},[129,343,344],{},[95,345,346],{},"pins.\u003Cpin>.sources.\u003Csource>.src",[129,348,349],{},"Nix source derivation; may include patches when configuration is supplied",[111,351,352,357],{},[129,353,354],{},[95,355,356],{},"pins.\u003Cpin>.sources.\u003Csource>.hash",[129,358,359],{},"Real hash of the original Fetcher contents",[111,361,362,367],{},[129,363,364],{},[95,365,366],{},"pins.\u003Cpin>.sources.\u003Csource>.fetcher",[129,368,369],{},"Persisted Fetcher arguments",[111,371,372,377],{},[129,373,374],{},[95,375,376],{},"pins.\u003Cpin>.sources.\u003Csource>.derived",[129,378,379,380],{},"Derived hash attribute set; defaults to ",[95,381,382],{},"{}",[111,384,385,390],{},[129,386,387],{},[95,388,389],{},"pins.\u003Cpin>.sources.\u003Csource>.packages.\u003Cpackage>",[129,391,392,393,395],{},"Package restored from configuration; available only when ",[95,394,162],{}," is supplied",[91,397,398,399,402,403,406],{},"Even with a single Source, the access path includes ",[95,400,401],{},"sources.default",". Do not use the old flat ",[95,404,405],{},"pins.\u003Cpin>.src"," path.",[100,408,410],{"id":409},"when-to-pass-configuration","When to pass configuration",[91,412,413,414,416,417,419],{},"With only ",[95,415,146],{},", the Reader restores the original locked source. It does not provide Packages or apply declared patches. With ",[95,418,162],{},", it reevaluates the configuration using the locked versions and hashes to restore patched Sources and Packages.",[91,421,422,423,426],{},"The Reader does not check upstream versions again. Only ",[95,424,425],{},"update"," changes locked results. Pin the configuration, Pins File, Reader version, and required Nixpkgs inputs together.",[100,428,430],{"id":429},"file-compatibility","File compatibility",[91,432,433,434,437,438,441],{},"The current Reader only accepts ",[95,435,436],{},"schemaVersion = 2",". Incompatible versions cause an error; changing the schema number manually is not a migration. See ",[439,440,26],"a",{"href":27}," for failure records and update semantics.",[443,444,445],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":177,"searchDepth":191,"depth":191,"links":447},[448,449,450,451],{"id":102,"depth":191,"text":103},{"id":314,"depth":191,"text":315},{"id":409,"depth":191,"text":410},{"id":429,"depth":191,"text":430},"Restore source code, patches, and named Packages from locked JSON results.","md",null,{},true,{"title":72,"description":452},"Cs1nM_jafR3l2KC4896BfJdAu05Y3OJ680_icSk-gQ8",[460,462],{"title":68,"path":69,"stem":70,"description":461,"children":-1},"Dependency hashes for Go Modules, npm, and pnpm, and how to use them downstream.",{"title":82,"path":83,"stem":84,"description":463,"children":-1},"Diagnose configuration, version checks, source fetching, dependency hashes, and Reader failures.",1791031185231]