commands.sh

nix-shell

all

Start an interactive shell based on a Nix expression. See also: `nix shell.3`.

More info →

Options (2)

-p, --packagesboolean

Start with packages loaded from nixpkgs

Example: nix-shell {{[-p|--packages]}} {{package1 package2 ...}}
-I, --includeboolean

Start with packages loaded from specific nixpkgs revision

Example: nix-shell {{[-p|--packages]}} {{package1 package2 ...}} {{[-I|--include]}} nixpkgs={{https://github.com/NixOS/nixpkgs/archive/nixpkgs_revision.tar.gz}}

Examples (6)

Start with nix expression in `shell.nix` or `default.nix` in the current directory

Run shell command in non-interactive shell and exit

nix-shell --run "command argument1 argument2 ..."

Start with expression in `default.nix` in the current directory

nix-shell default.nix

Start with packages loaded from nixpkgs

nix-shell [-p|--packages] package1 package2 ...

Start with packages loaded from specific nixpkgs revision

nix-shell [-p|--packages] package1 package2 ... [-I|--include] nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixpkgs_revision.tar.gz

Evaluate rest of file in specific interpreter, for use in `#!-scripts` (see <https://nixos.org/manual/nix/stable/#use-as-a-interpreter>)

nix-shell -i interpreter [-p|--packages] package1 package2 ...
made by @shridhargupta | data from tldr-pages