Home Explore Blog CI



nushell

2nd chunk of `blog/2019-12-18-nushell-0_7_0.md`
20a0cf52aecc4fd871683dba88da8a196d7e1d9eb419b8be00000001000008fd
For the last few weeks, a big part of this refactor involved splitting our growing monolith of a codebase into separate sub-crates that work together to give the same functionality. As we've done so, we've been able to clean up some of the interfaces between the code. The end result is something that already is easier to work with, and we're excited about what this means for future development.

One side effect of this work is that we've now separated out the plugins from the main `nu` crate. This gives you more options to configure your Nu setup how you want, as each optional crate can be separately installed.

From cargo, you can install the main crate with:

```
cargo install nu
```

Then, you can install the plugins the same way. You can find them because they have a name starting with `nu_plugin_`. For example, to install the textview plugin:

```
cargo install nu_plugin_textview
```

The current set of plugins includes:

- nu_plugin_average
- nu_plugin_binaryview
- nu_plugin_fetch
- nu_plugin_inc
- nu_plugin_match
- nu_plugin_post
- nu_plugin_ps
- nu_plugin_str
- nu_plugin_sum
- nu_plugin_sys
- nu_plugin_textview
- nu_plugin_tree

By default, Nu will install a small set of these plugins ("sys", "ps", "textview", "inc", "str"). You can optionally turn this off using:

```
cargo install nu --no-default-features
```

# Introducing: stable and unstable features

Another part of the current refactor work is that we're splitting the "stable" and "unstable" features up. This lets us experiment a bit easier before a command becomes a stable part of the releases.

Now, to install all the stable features, you can use:

```
cargo install nu --features=stable
```

If you want to get both stable _and_ unstable features, use:

```
cargo install nu --all-features
```

Warning: unless you're working on Nu itself you may not want to install all features currently, as you'll see that we're working on an internal tracing tool.

# Moving the book(s) (sebastian-xyz)

We've been hard at working building up the websites. In the previous release, we talked about "nushell.sh" and the new website there. Since then, we've consolidated the books into the new website. Please update your book links to point to the new site:

- Nu book - [nushell.sh/book](https://www.nushell.sh/book/)

Title: Modularization and Feature Management in Nushell
Summary
The Nushell codebase has been refactored into separate sub-crates, improving maintainability and allowing plugins to be installed independently. Users can install the main crate and plugins using `cargo install`. Additionally, the project now distinguishes between stable and unstable features, allowing for easier experimentation. Stable features can be installed using `--features=stable`, while all features can be installed using `--all-features`. The Nushell documentation has been consolidated into the new website at nushell.sh.