# nix-shell > Start an interactive shell based on a Nix expression. > More information: . - 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: `nix-shell --run "{{command}} {{command_arguments}}"` - Start with expression in `default.nix` in the current directory: `nix-shell {{default.nix}}` - Start with packages loaded from nixpkgs: `nix-shell --packages {{package_name_1}} {{package_name_2}}` - Start with packages loaded from specific nixpkgs revision: `nix-shell --packages {{package_names}} -I nixpkgs={{https://github.com/NixOS/nixpkgs/archive/nixpkgs_revision.tar.gz}}` - Evaluate rest of file in specific interpreter, for use in `#!-scripts` (see ): `nix-shell -i {{interpreter}} --packages {{package_names}}`