nixpkgs/doc/builders/special/mkshell.section.md
Jonas Chevalier c6b62f2381
mkShell: introduce packages argument (#122180)
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.
2021-05-13 19:17:29 +02:00

520 B

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

{ 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 ];
}