2022-01-27 13:00:36 -05:00
|
|
|
let
|
2022-01-28 10:46:13 -05:00
|
|
|
# sources.nix contains information about which versions of some of our
|
2023-03-13 16:36:53 -04:00
|
|
|
# dependencies we should use. since we use it to pin nixpkgs, all the rest
|
|
|
|
# of our dependencies are *also* pinned - indirectly.
|
2022-01-28 10:46:13 -05:00
|
|
|
#
|
|
|
|
# sources.nix is managed using a tool called `niv`. as an example, to
|
|
|
|
# update to the most recent version of nixpkgs from the 21.11 maintenance
|
|
|
|
# release, in the top-level tahoe-lafs checkout directory you run:
|
|
|
|
#
|
|
|
|
# niv update nixpkgs-21.11
|
|
|
|
#
|
|
|
|
# niv also supports chosing a specific revision, following a different
|
|
|
|
# branch, etc. find complete documentation for the tool at
|
|
|
|
# https://github.com/nmattia/niv
|
2022-01-27 13:00:36 -05:00
|
|
|
sources = import nix/sources.nix;
|
|
|
|
in
|
2022-01-27 16:17:37 -05:00
|
|
|
{
|
2023-03-13 15:19:43 -04:00
|
|
|
pkgsVersion ? "nixpkgs-22.11" # a string which chooses a nixpkgs from the
|
2022-01-27 16:17:37 -05:00
|
|
|
# niv-managed sources data
|
|
|
|
|
2023-07-04 12:43:23 -04:00
|
|
|
, pkgs ? import sources.${pkgsVersion} { # nixpkgs itself
|
|
|
|
overlays = [ (import ./nix/overlay.nix) ];
|
|
|
|
}
|
2022-01-27 16:17:37 -05:00
|
|
|
|
2023-03-13 15:19:43 -04:00
|
|
|
, pythonVersion ? "python310" # a string choosing the python derivation from
|
|
|
|
# nixpkgs to target
|
2022-01-27 13:00:36 -05:00
|
|
|
}:
|
2023-07-04 12:43:23 -04:00
|
|
|
pkgs.${pythonVersion}.withPackages (ps: [ ps.tahoe-lafs ])
|