aboutsummaryrefslogtreecommitdiff
path: root/src/libfetchers/registry.cc
AgeCommit message (Collapse)Author
2021-07-07Style tweaksEelco Dolstra
2021-06-30nix registry pin: add a way to pin to a custom lockedAlexander Bantyev
2021-03-19Use the appropriate config dir for the registrySamuel Dionne-Riel
2020-10-28Capitalize JSON for consistencyMatthew Kenigsberg
2020-10-09Split out `local-fs-store.hh`John Ericson
This matches the already-existing `local-fs-store.cc`.
2020-09-29Make Headers an optional argumentEelco Dolstra
2020-09-16Fetch commits from github/gitlab using Auth headerGreg Hale
`nix flake info` calls the github 'commits' API, which requires authorization when the repository is private. Currently this request fails with a 404. This commit adds an authorization header when calling the 'commits' API. It also changes the way that the 'tarball' API authenticates, moving the user's token from a query parameter into the Authorization header. The query parameter method is recently deprecated and will be disallowed in November 2020. Using them today triggers a warning email.
2020-09-03addPermRoot(): Remove indirect flagEelco Dolstra
2020-07-01Add --inputs-from to use flake inputs as registry entriesEelco Dolstra
This allows you to refer to an input from another flake. For example, $ nix run --inputs-from /path/to/hydra nixpkgs#hello runs 'hello' from the 'nixpkgs' inputs of the 'hydra' flake. Fixes #3769.
2020-05-30Remove TreeInfoEelco Dolstra
The attributes previously stored in TreeInfo (narHash, revCount, lastModified) are now stored in Input. This makes it less arbitrary what attributes are stored where. As a result, the lock file format has changed. An entry like "info": { "lastModified": 1585405475, "narHash": "sha256-bESW0n4KgPmZ0luxvwJ+UyATrC6iIltVCsGdLiphVeE=" }, "locked": { "owner": "NixOS", "repo": "nixpkgs", "rev": "b88ff468e9850410070d4e0ccd68c7011f15b2be", "type": "github" }, is now stored as "locked": { "owner": "NixOS", "repo": "nixpkgs", "rev": "b88ff468e9850410070d4e0ccd68c7011f15b2be", "type": "github", "lastModified": 1585405475, "narHash": "sha256-bESW0n4KgPmZ0luxvwJ+UyATrC6iIltVCsGdLiphVeE=" }, The 'Input' class is now a dumb set of attributes. All the fetcher implementations subclass InputScheme, not Input. This simplifies the API. Also, fix substitution of flake inputs. This was broken since lazy flake fetching started using fetchTree internally.
2020-05-10SimplifyEelco Dolstra
2020-04-14Make Registry::read() more robustEelco Dolstra
2020-04-09Fix buildEelco Dolstra
2020-04-02Don't barf on registry parse errorsEelco Dolstra
2020-04-01Support registry entries that must match exactlyEelco Dolstra
An example use is for pinning the "nixpkgs" entry the system-wide registry to a particular store path. Inexact matches (e.g. "nixpkgs/master") should still use the global registry.
2020-04-01Registry: Use a struct instead of a tuple for entriesEelco Dolstra
2020-04-01Add a system-wide flake registry /etc/nix/registry.jsonEelco Dolstra
One application for this is pinning the 'nixpkgs' flake to the exact revision used to build the NixOS system, e.g. { "flakes": [ { "from": { "id": "nixpkgs", "type": "indirect" }, "to": { "owner": "NixOS", "repo": "nixpkgs", "type": "github", "rev": "b0c285807d6a9f1b7562ec417c24fa1a30ecc31a" } } ], "version": 2 }
2020-03-30Move fetchers from libstore to libfetchersEelco Dolstra