2021-01-01 22:12:38 +00:00
|
|
|
# nix-shell
|
|
|
|
|
|
|
|
> Start an interactive shell based on a Nix expression.
|
2023-04-26 09:45:00 +01:00
|
|
|
> See also: `tldr nix3 shell`.
|
|
|
|
> More information: <https://nixos.org/manual/nix/stable/command-ref/nix-shell.html>.
|
2021-01-01 22:12:38 +00:00
|
|
|
|
|
|
|
- Start with nix expression in `shell.nix` or `default.nix` in the current directory:
|
|
|
|
|
|
|
|
`nix-shell`
|
|
|
|
|
|
|
|
- Run shell command in non-interactive shell and exit:
|
|
|
|
|
2023-08-26 18:30:06 +01:00
|
|
|
`nix-shell --run "{{command}} {{argument1 argument2 ...}}"`
|
2021-01-01 22:12:38 +00:00
|
|
|
|
|
|
|
- Start with expression in `default.nix` in the current directory:
|
|
|
|
|
|
|
|
`nix-shell {{default.nix}}`
|
|
|
|
|
|
|
|
- Start with packages loaded from nixpkgs:
|
|
|
|
|
2023-08-26 18:30:06 +01:00
|
|
|
`nix-shell --packages {{package1 package2 ...}}`
|
2021-01-01 22:12:38 +00:00
|
|
|
|
|
|
|
- Start with packages loaded from specific nixpkgs revision:
|
|
|
|
|
2023-08-26 18:30:06 +01:00
|
|
|
`nix-shell --packages {{package1 package2 ...}} -I nixpkgs={{https://github.com/NixOS/nixpkgs/archive/nixpkgs_revision.tar.gz}}`
|
2021-01-01 22:12:38 +00:00
|
|
|
|
|
|
|
- Evaluate rest of file in specific interpreter, for use in `#!-scripts` (see <https://nixos.org/manual/nix/stable/#use-as-a-interpreter>):
|
|
|
|
|
2023-08-26 18:30:06 +01:00
|
|
|
`nix-shell -i {{interpreter}} --packages {{package1 package2 ...}}`
|