-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.nix
31 lines (31 loc) · 810 Bytes
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
pkgs ? # If pkgs is not defined, instantiate nixpkgs from locked commit
let
lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked;
nixpkgs = fetchTarball {
url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz";
sha256 = lock.narHash;
};
in
import nixpkgs { overlays = [ ]; },
precommit,
...
}:
{
default = pkgs.mkShell {
inherit (precommit) shellHook;
buildInputs = precommit.enabledPackages;
};
# A minimum shell for bootstrapping on new machines
bootstrap = pkgs.mkShell {
NIX_CONFIG = "extra-experimental-features = nix-command flakes";
nativeBuildInputs = builtins.attrValues {
inherit (pkgs)
nix
home-manager
git
pre-commit
;
};
};
}