From 7f77147b600b62326db9192c2f0c2e5ac62236be Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Mon, 8 Nov 2021 12:45:27 +0100 Subject: [PATCH] makeShell: minor improvements - import pkgs without the global config to avoid pulling in external state - rename `path` -> `setPath` - export `nixpkgsUnstable` This avoids garbage collection of nixpkgs-unstable for gcrooted shell environments (like those created by lorri) --- helper/makeShell.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/helper/makeShell.nix b/helper/makeShell.nix index fa212fe..933ecb4 100644 --- a/helper/makeShell.nix +++ b/helper/makeShell.nix @@ -1,11 +1,12 @@ { configDir, shellVersion ? null, extraShellInitCmds ? (pkgs: "") }: let + pinned = import ../pkgs/nixpkgs-pinned.nix; + pkgs = import nixpkgs { config = {}; overlays = []; }; inherit (pkgs) lib; - nixpkgs = (import ../pkgs/nixpkgs-pinned.nix).nixpkgs; - pkgs = import nixpkgs {}; + inherit (pinned) nixpkgs; nbPkgs = import ../pkgs { inherit pkgs; }; cfgDir = toString configDir; - path = lib.optionalString pkgs.stdenv.isLinux '' + setPath = lib.optionalString pkgs.stdenv.isLinux '' export PATH="${lib.makeBinPath [ nbPkgs.pinned.extra-container ]}''${PATH:+:}$PATH" ''; in @@ -39,8 +40,9 @@ pkgs.stdenv.mkDerivation { shellHook = '' export NIX_PATH="nixpkgs=${nixpkgs}:nix-bitcoin=${toString ../.}:." - ${path} + ${setPath} export NIX_BITCOIN_EXAMPLES_DIR="${cfgDir}" + export nixpkgsUnstable="${pinned.nixpkgs-unstable}" # Set isInteractive=1 if # 1. stdout is a TTY, i.e. we're not piping the output