[{"data":1,"prerenderedAt":292},["ShallowReactive",2],{"navigation_docs_en":3,"\u002Fen\u002Fgetting-started\u002Finstallation":85,"\u002Fen\u002Fgetting-started\u002Finstallation-surround":289},[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":11,"body":87,"description":282,"extension":283,"links":284,"meta":285,"navigation":286,"path":12,"seo":287,"stem":13,"__hash__":288},"docs_en\u002Fen\u002F1.getting-started\u002F1.installation.md",{"type":88,"value":89,"toc":277},"minimark",[90,99,104,123,130,146,149,158,165,169,184,206,209,213,216,242,261,268,273],[91,92,93,94,98],"p",{},"nix-pins is a Rust CLI. It requires a working Nix installation and the Nixpkgs used by your configuration. The Git Checker also requires ",[95,96,97],"code",{},"git",".",[100,101,103],"h2",{"id":102},"set-up-nix","Set up Nix",[91,105,106,107,114,115,118,119,122],{},"See the ",[108,109,113],"a",{"href":110,"rel":111},"https:\u002F\u002Fnix.dev\u002Finstall-nix",[112],"nofollow","official Nix installation guide",". The Flake commands below require the ",[95,116,117],{},"nix-command"," and ",[95,120,121],{},"flakes"," experimental features.",[91,124,125,126,129],{},"The default CLI evaluator uses ",[95,127,128],{},"\u003Cnixpkgs>",". Check that it resolves:",[131,132,137],"pre",{"className":133,"code":134,"language":135,"meta":136,"style":136},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","nix eval --impure --raw --expr 'toString \u003Cnixpkgs>'\n","sh","",[95,138,139],{"__ignoreMap":136},[140,141,144],"span",{"class":142,"line":143},"line",1,[140,145,134],{},[91,147,148],{},"If you have not configured a Nixpkgs path, set one for the current terminal:",[131,150,152],{"className":133,"code":151,"language":135,"meta":136,"style":136},"export NIX_PATH=\"nixpkgs=$(nix eval --raw nixpkgs#path)\"\n",[95,153,154],{"__ignoreMap":136},[140,155,156],{"class":142,"line":143},[140,157,151],{},[91,159,160,161,164],{},"If your project needs a fixed Nixpkgs version, point ",[95,162,163],{},"NIX_PATH"," to the Nixpkgs source already locked by that project. CLI evaluation and the downstream Reader should use compatible Nixpkgs versions, especially when using dependency Builders.",[100,166,168],{"id":167},"install-with-a-flake","Install with a Flake",[91,170,171,172,175,176,179,180,183],{},"The Flake provides packages for ",[95,173,174],{},"x86_64-linux",", ",[95,177,178],{},"aarch64-linux",", and ",[95,181,182],{},"aarch64-darwin"," (Apple Silicon Macs). On any of these platforms, run:",[131,185,187],{"className":133,"code":186,"language":135,"meta":136,"style":136},"nix run github:ercao\u002Fnix-pins -- --help\nnix profile install github:ercao\u002Fnix-pins\nnix-pins --version\n",[95,188,189,194,200],{"__ignoreMap":136},[140,190,191],{"class":142,"line":143},[140,192,193],{},"nix run github:ercao\u002Fnix-pins -- --help\n",[140,195,197],{"class":142,"line":196},2,[140,198,199],{},"nix profile install github:ercao\u002Fnix-pins\n",[140,201,203],{"class":142,"line":202},3,[140,204,205],{},"nix-pins --version\n",[91,207,208],{},"Nix selects the package for your current system automatically. Each supported system also has app, check, and development shell outputs.",[100,210,212],{"id":211},"install-from-source","Install from source",[91,214,215],{},"Install the Rust toolchain and Nix, then clone the repository and install:",[131,217,219],{"className":133,"code":218,"language":135,"meta":136,"style":136},"git clone https:\u002F\u002Fgithub.com\u002Fercao\u002Fnix-pins.git\ncd nix-pins\ncargo install --path crates\u002Fcli --locked\nnix-pins --help\n",[95,220,221,226,231,236],{"__ignoreMap":136},[140,222,223],{"class":142,"line":143},[140,224,225],{},"git clone https:\u002F\u002Fgithub.com\u002Fercao\u002Fnix-pins.git\n",[140,227,228],{"class":142,"line":196},[140,229,230],{},"cd nix-pins\n",[140,232,233],{"class":142,"line":202},[140,234,235],{},"cargo install --path crates\u002Fcli --locked\n",[140,237,239],{"class":142,"line":238},4,[140,240,241],{},"nix-pins --help\n",[91,243,244,245,248,249,252,253,256,257,260],{},"Add the Cargo installation directory (usually ",[95,246,247],{},"~\u002F.cargo\u002Fbin",") to ",[95,250,251],{},"PATH",". You can also run ",[95,254,255],{},"cargo run -- status"," or ",[95,258,259],{},"cargo run -- update"," inside the repository.",[91,262,263,264,267],{},"The Reader lives at ",[95,265,266],{},"nix\u002Fpins.nix"," in the source repository. The current Flake package installs the CLI, evaluator, and Reader. This tutorial imports the Reader from the cloned repository. When using it in another project, keep or pin the corresponding tool source version.",[91,269,270,271,98],{},"Continue with ",[108,272,15],{"href":16},[274,275,276],"style",{},"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":136,"searchDepth":196,"depth":196,"links":278},[279,280,281],{"id":102,"depth":196,"text":103},{"id":167,"depth":196,"text":168},{"id":211,"depth":196,"text":212},"Set up Nix and install nix-pins with a Flake or Cargo.","md",null,{},true,{"title":11,"description":282},"s9Doh2ak4SK-XPSV4COg2IqtEnScWRlBVmcT3LTLSfM",[284,290],{"title":15,"path":16,"stem":17,"description":291,"children":-1},"Check a version, lock source code, and consume it in Nix with a GitHub example.",1791031181053]