Flox Package Database 1
CRUD Operations on Nix Package Metadata
|
A collection of files associated with an environment. More...
#include <memory>
#include <optional>
#include <string_view>
#include <utility>
#include <vector>
#include <nix/ref.hh>
#include "flox/core/exceptions.hh"
#include "flox/core/nix-state.hh"
#include "flox/core/types.hh"
#include "flox/pkgdb/input.hh"
#include "flox/pkgdb/pkg-query.hh"
#include "flox/registry.hh"
#include "flox/resolver/lockfile.hh"
#include "flox/resolver/manifest-raw.hh"
#include "flox/resolver/manifest.hh"
Go to the source code of this file.
Classes | |
class | flox::resolver::Environment |
A collection of data associated with an environment and its state. More... | |
Namespaces | |
namespace | flox |
Interfaces for use by flox . | |
namespace | flox::pkgdb |
Interfaces for caching package metadata in SQLite3 databases. | |
Typedefs | |
using | flox::resolver::ResolutionFailure = std::vector< std::pair< InstallID, std::string > > |
A pair of install ID and locked flake URLs used to record failed resolution attempts for a given descriptor. | |
using | flox::resolver::ResolutionResult = std::variant< ResolutionFailure, SystemPackages > |
Either a set of resolved packages ( for a given system ) or a memo indicating that resolution failed for certain descriptors against certain inputs. | |
Functions | |
flox::resolver::FLOX_DEFINE_EXCEPTION (ResolutionFailureException, EC_RESOLUTION_FAILURE, "resolution failure") | |
A collection of files associated with an environment.
using flox::resolver::ResolutionFailure = typedef std::vector<std::pair<InstallID, std::string> > |
A pair of install ID and locked flake URLs used to record failed resolution attempts for a given descriptor.
This allows us to more easily format exception messages.
using flox::resolver::ResolutionResult = typedef std::variant<ResolutionFailure, SystemPackages> |
Either a set of resolved packages ( for a given system ) or a memo indicating that resolution failed for certain descriptors against certain inputs.
When attempting to resolve a group of packages for a given system, we either succeed and return flox::resolver::SystemPackages or fail and return flox::resolver::ResolutionFailure. This allows us to print descriptors that failed as groups for a given input+rev.