LinuxCommandLibrary

nix-shell

Start an interactive shell based on a Nix expression.

TLDR

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

$ nix-shell
copy


Run shell command in non-interactive shell and exit
$ nix-shell --run "[command] [argument1 argument2 ...]"
copy


Start with expression in default.nix in the current directory
$ nix-shell [default.nix]
copy


Start with packages loaded from nixpkgs
$ nix-shell --packages [package1 package2 ...]
copy


Start with packages loaded from specific nixpkgs revision
$ nix-shell --packages [package1 package2 ...] -I nixpkgs=[https://github.com/NixOS/nixpkgs/archive/nixpkgs_revision.tar.gz]
copy


Evaluate rest of file in specific interpreter, for use in #!-scripts (see )
$ nix-shell -i [interpreter] --packages [package1 package2 ...]
copy

Copied to clipboard