[{"data":1,"prerenderedAt":489},["ShallowReactive",2],{"navigation_docs_en":3,"\u002Fen\u002Fguides\u002Fdependencies":85,"\u002Fen\u002Fguides\u002Fdependencies-surround":484},[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":38,"body":87,"description":477,"extension":478,"links":479,"meta":480,"navigation":481,"path":39,"seo":482,"stem":40,"__hash__":483},"docs_en\u002Fen\u002F2.guides\u002F4.dependencies.md",{"type":88,"value":89,"toc":472},"minimark",[90,99,104,226,248,252,273,293,425,436,440,458,468],[91,92,93,94,98],"p",{},"A Package belongs to a Source and is declared in ",[95,96,97],"code",{},"packages",". It shares the Pin's Version and the Source's code, but has its own Builder and dependency artifacts. nix-pins computes hashes for intermediate dependency fixed-output derivations (FODs); downstream projects still handle the full application build.",[100,101,103],"h2",{"id":102},"a-go-package","A Go Package",[105,106,111],"pre",{"className":107,"code":108,"language":109,"meta":110,"style":110},"language-nix shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ pin }: {\n  gofzf = pin.github {\n    target = \"junegunn\u002Ffzf\";\n    packages.default = pin.goModule { root = \".\"; };\n  };\n}\n","nix","",[95,112,113,132,152,173,214,220],{"__ignoreMap":110},[114,115,118,122,126,129],"span",{"class":116,"line":117},"line",1,[114,119,121],{"class":120},"sMK4o","{",[114,123,125],{"class":124},"sHdIc"," pin",[114,127,128],{"class":120}," }:",[114,130,131],{"class":120}," {\n",[114,133,135,139,142,144,147,150],{"class":116,"line":134},2,[114,136,138],{"class":137},"spNyl","  gofzf",[114,140,141],{"class":120}," =",[114,143,125],{"class":124},[114,145,146],{"class":120},".",[114,148,149],{"class":124},"github",[114,151,131],{"class":120},[114,153,155,158,160,163,167,170],{"class":116,"line":154},3,[114,156,157],{"class":137},"    target",[114,159,141],{"class":120},[114,161,162],{"class":120}," \"",[114,164,166],{"class":165},"sfazB","junegunn\u002Ffzf",[114,168,169],{"class":120},"\"",[114,171,172],{"class":120},";\n",[114,174,176,179,182,185,187,189,191,194,197,200,202,204,206,208,211],{"class":116,"line":175},4,[114,177,178],{"class":137},"    packages",[114,180,146],{"class":181},"sTEyZ",[114,183,184],{"class":137},"default",[114,186,141],{"class":120},[114,188,125],{"class":124},[114,190,146],{"class":120},[114,192,193],{"class":124},"goModule",[114,195,196],{"class":120}," {",[114,198,199],{"class":137}," root",[114,201,141],{"class":120},[114,203,162],{"class":120},[114,205,146],{"class":165},[114,207,169],{"class":120},[114,209,210],{"class":120},";",[114,212,213],{"class":120}," };\n",[114,215,217],{"class":116,"line":216},5,[114,218,219],{"class":120},"  };\n",[114,221,223],{"class":116,"line":222},6,[114,224,225],{"class":120},"}\n",[91,227,228,229,232,233,236,237,240,241,244,245,146],{},"With ",[95,230,231],{},"config"," passed to the Reader, the Package is available at ",[95,234,235],{},"pins.gofzf.sources.default.packages.default",". Read ",[95,238,239],{},"vendorHash"," or ",[95,242,243],{},"goModules"," and reuse the corresponding source and version in your downstream ",[95,246,247],{},"buildGoModule",[100,249,251],{"id":250},"npm-and-pnpm","npm and pnpm",[91,253,254,257,258,261,262,265,266,269,270,146],{},[95,255,256],{},"pin.npmPackage"," uses ",[95,259,260],{},"npmDeps"," from ",[95,263,264],{},"buildNpmPackage"," to compute ",[95,267,268],{},"npmDepsHash",". The upstream project must provide a usable ",[95,271,272],{},"package-lock.json",[91,274,275,257,278,265,281,284,285,288,289,292],{},[95,276,277],{},"pin.pnpmPackage",[95,279,280],{},"fetchPnpmDeps",[95,282,283],{},"pnpmDepsHash",". Explicitly provide ",[95,286,287],{},"root"," and a positive integer ",[95,290,291],{},"fetcherVersion",". Configure downstream dependency installation with the same pnpm and Node.js versions.",[105,294,296],{"className":107,"code":295,"language":109,"meta":110,"style":110},"{ pin, pkgs }: {\n  app = pin.github {\n    target = \"QuantumNous\u002Fnew-api\";\n    packages.web = pin.pnpmPackage {\n      root = \"web\";\n      fetcherVersion = 3;\n      pnpm = pkgs.pnpm;\n    };\n  };\n}\n",[95,297,298,314,329,344,364,379,392,409,415,420],{"__ignoreMap":110},[114,299,300,302,304,307,310,312],{"class":116,"line":117},[114,301,121],{"class":120},[114,303,125],{"class":124},[114,305,306],{"class":120},",",[114,308,309],{"class":124}," pkgs",[114,311,128],{"class":120},[114,313,131],{"class":120},[114,315,316,319,321,323,325,327],{"class":116,"line":134},[114,317,318],{"class":137},"  app",[114,320,141],{"class":120},[114,322,125],{"class":124},[114,324,146],{"class":120},[114,326,149],{"class":124},[114,328,131],{"class":120},[114,330,331,333,335,337,340,342],{"class":116,"line":154},[114,332,157],{"class":137},[114,334,141],{"class":120},[114,336,162],{"class":120},[114,338,339],{"class":165},"QuantumNous\u002Fnew-api",[114,341,169],{"class":120},[114,343,172],{"class":120},[114,345,346,348,350,353,355,357,359,362],{"class":116,"line":175},[114,347,178],{"class":137},[114,349,146],{"class":181},[114,351,352],{"class":137},"web",[114,354,141],{"class":120},[114,356,125],{"class":124},[114,358,146],{"class":120},[114,360,361],{"class":124},"pnpmPackage",[114,363,131],{"class":120},[114,365,366,369,371,373,375,377],{"class":116,"line":216},[114,367,368],{"class":137},"      root",[114,370,141],{"class":120},[114,372,162],{"class":120},[114,374,352],{"class":165},[114,376,169],{"class":120},[114,378,172],{"class":120},[114,380,381,384,386,390],{"class":116,"line":222},[114,382,383],{"class":137},"      fetcherVersion",[114,385,141],{"class":120},[114,387,389],{"class":388},"sbssI"," 3",[114,391,172],{"class":120},[114,393,395,398,400,402,404,407],{"class":116,"line":394},7,[114,396,397],{"class":137},"      pnpm",[114,399,141],{"class":120},[114,401,309],{"class":124},[114,403,146],{"class":120},[114,405,406],{"class":124},"pnpm",[114,408,172],{"class":120},[114,410,412],{"class":116,"line":411},8,[114,413,414],{"class":120},"    };\n",[114,416,418],{"class":116,"line":417},9,[114,419,219],{"class":120},[114,421,423],{"class":116,"line":422},10,[114,424,225],{"class":120},[91,426,427,428,431,432,435],{},"This configuration demonstrates a subdirectory declaration. That directory in the selected upstream version must contain a compatible ",[95,429,430],{},"pnpm-lock.yaml",". The tool does not create or repair upstream lockfiles. See ",[433,434,68],"a",{"href":69}," for further restrictions and downstream usage.",[100,437,439],{"id":438},"multiple-packages","Multiple Packages",[91,441,442,443,445,446,448,449,451,452,454,455,146],{},"Declare different names under a Source's ",[95,444,97],{},". If a Source has only one Package of a given type, its Derived Hash uses ",[95,447,239],{},", ",[95,450,268],{},", or ",[95,453,283],{},". Multiple Packages of the same type add a Package name prefix, such as ",[95,456,457],{},"cli.vendorHash",[91,459,460,461,463,464,467],{},"Downstream consumers should access artifacts through the Reader's named ",[95,462,97],{}," instead of inferring ",[95,465,466],{},"derived"," keys. The tool decides whether to recompute a hash from the input fingerprint of the intermediate dependency derivation. Reuse depends on the actual build inputs.",[469,470,471],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":110,"searchDepth":134,"depth":134,"links":473},[474,475,476],{"id":102,"depth":134,"text":103},{"id":250,"depth":134,"text":251},{"id":438,"depth":134,"text":439},"Prepare Go, npm, and pnpm dependency artifacts while leaving application builds to downstream projects.","md",null,{},true,{"title":38,"description":477},"4M_3wpejbLQod-KiXb2J8NxVpCcjZEI1D7g1puB0Ldk",[485,487],{"title":34,"path":35,"stem":36,"description":486,"children":-1},"Lock several named Sources to one Version, with separate patches and Packages for each Source.",{"title":48,"path":49,"stem":50,"description":488,"children":-1},"Commands, name and regex selection, and global runtime options.",1791031184276]