forked from mirrors/nixpkgs
c6b62f2381
The distinction between the inputs doesn't really make sense in the mkShell context. Technically speaking, we should be using the nativeBuildInputs most of the time. So in order to make this function more beginner-friendly, add "packages" as an attribute, that maps to nativeBuildInputs. This commit also updates all the uses in nixpkgs.
18 lines
520 B
Markdown
18 lines
520 B
Markdown
# 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 ];
|
|
}
|
|
```
|