summary refs log tree commit diff
path: root/doc/builders/special/mkshell.section.md
blob: 8a62c50e17dd309a3617f8f500c81cadfb3978b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# pkgs.mkShell {#sec-pkgs-mkShell}

`pkgs.mkShell` is a special kind of derivation that is only useful when using
it combined with `nix-shell`. It will in fact fail to instantiate when invoked
with `nix-build`.

## Usage {#sec-pkgs-mkShell-usage}

```nix
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
  # specify which packages to add to the shell environment
  packages = [ pkgs.gnumake ];
  # add all the dependencies, of the given packages, to the shell environment
  inputsFrom = with pkgs; [ hello gnutar ];
}
```