Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::fetchers::InputScheme Struct Referenceabstract

#include <fetchers.hh>

Inheritance diagram for nix::fetchers::InputScheme:
[legend]

Public Member Functions

virtual std::optional< InputinputFromURL (const ParsedURL &url, bool requireTree) const =0
 
virtual std::optional< InputinputFromAttrs (const Attrs &attrs) const =0
 
virtual ParsedURL toURL (const Input &input) const
 
virtual bool hasAllInfo (const Input &input) const =0
 
virtual Input applyOverrides (const Input &input, std::optional< std::string > ref, std::optional< Hash > rev) const
 
virtual void clone (const Input &input, const Path &destDir) const
 
virtual std::optional< PathgetSourcePath (const Input &input) const
 
virtual void putFile (const Input &input, const CanonPath &path, std::string_view contents, std::optional< std::string > commitMsg) const
 
virtual kj::Promise< Result< std::pair< StorePath, Input > > > fetch (ref< Store > store, const Input &input)=0
 
virtual bool isLockedByRev () const
 

Protected Member Functions

void emplaceURLQueryIntoAttrs (const ParsedURL &parsedURL, Attrs &attrs, const StringSet &numericParams, const StringSet &booleanParams) const
 

Detailed Description

The InputScheme represents a type of fetcher. Each fetcher registers with nix at startup time. When processing an input for a flake, each scheme is given an opportunity to "recognize" that input from the url or attributes in the flake file's specification and return an Input object to represent the input if it is recognized. The Input object contains the information the fetcher needs to actually perform the "fetch()" when called.


The documentation for this struct was generated from the following files: