diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix new file mode 100644 index 000000000000..6e075b7ceee5 --- /dev/null +++ b/pkgs/shells/nushell/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, fetchFromGitHub +, rustPlatform +, openssl +, pkg-config +, libiconv +, Security +}: + +rustPlatform.buildRustPackage rec { + pname = "nushell"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "0_5_0"; + sha256 = "1s60w29c8sv0a4nmpggls9pkqyfrwwxjzd65p68d1xxxsdb36rzj"; + }; + + cargoSha256 = "0b8alc3si6y4xmn812izknbkfkz64kz7kcnq4xaqws6iqn7pqidp"; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ] + ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]; + + preCheck = '' + export HOME=$TMPDIR + ''; + + meta = with stdenv.lib; { + description = "A modern shell written in Rust"; + homepage = "https://www.nushell.sh/"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + }; + + passthru = { + shellPath = "/bin/nu"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b02908feea83..71910a316377 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16568,6 +16568,10 @@ in musl = callPackage ../os-specific/linux/musl { }; + nushell = callPackage ../shells/nushell { + inherit (darwin.apple_sdk.frameworks) Security; + }; + nettools = if stdenv.isLinux then callPackage ../os-specific/linux/net-tools { } else unixtools.nettools;