summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ci/default.nix27
-rw-r--r--shell.nix15
2 files changed, 29 insertions, 13 deletions
diff --git a/ci/default.nix b/ci/default.nix
new file mode 100644
index 000000000000..fb5ca04fe728
--- /dev/null
+++ b/ci/default.nix
@@ -0,0 +1,27 @@
+let
+ pinnedNixpkgs = builtins.fromJSON (builtins.readFile ./pinned-nixpkgs.json);
+in
+{
+ system ? builtins.currentSystem,
+
+ nixpkgs ? null,
+}:
+let
+ nixpkgs' =
+ if nixpkgs == null then
+ fetchTarball {
+ url = "https://github.com/NixOS/nixpkgs/archive/${pinnedNixpkgs.rev}.tar.gz";
+ sha256 = pinnedNixpkgs.sha256;
+ }
+ else
+ nixpkgs;
+
+ pkgs = import nixpkgs' {
+ inherit system;
+ config = { };
+ overlays = [ ];
+ };
+in
+{
+ inherit pkgs;
+}
diff --git a/shell.nix b/shell.nix
index 0722f4efd734..b8a9fe7df19f 100644
--- a/shell.nix
+++ b/shell.nix
@@ -11,23 +11,12 @@
#
# nix-shell --arg nixpkgs ./.
#
-let
- pinnedNixpkgs = builtins.fromJSON (builtins.readFile ci/pinned-nixpkgs.json);
-in
{
system ? builtins.currentSystem,
-
- nixpkgs ? fetchTarball {
- url = "https://github.com/NixOS/nixpkgs/archive/${pinnedNixpkgs.rev}.tar.gz";
- sha256 = pinnedNixpkgs.sha256;
- },
+ nixpkgs ? null,
}:
let
- pkgs = import nixpkgs {
- inherit system;
- config = { };
- overlays = [ ];
- };
+ inherit (import ./ci { inherit nixpkgs system; }) pkgs;
in
pkgs.mkShellNoCC {
packages = with pkgs; [