-
Make a fork of this repository
The nushell APIs are unstable and break things often. I don't keep up with the latest nushell release so sometimes things will be broken because they are out-of-date. Or I may update to a new version that won't work for you.
-
Clone this repository to a directory like
~/.config/nu
NOT
~/.config/nushell
. This does not replaceconfig.nu
norenv.nu
nor any of the other default files -
Run
git submodule update --init --recursive
to load nupm -
Edit your
env.nu
to add~/.config/nu
to your$env.NU_LIB_DIRS
Your
env.nu
lives next toconfig.nu
which you can edit withconfig nu
, then use your editor tools to switch to the other file. Also,$env.NU_LIB_DIRS | first | path dirname | path join "env.nu"
should be the path to yourenv.nu
-
Edit your
config.nu
and addsource init.nu
to the bottomThis loads the
init.nu
from this repository. -
Start a new
nu
instanceA command like
help ssh
should show nushell-format help for thessh
command. This indicates everything loaded correctly.
I don't update to the latest nushell consistently so things may be broken or out of date.
This repository is updated to at least nushell 0.94.0
For commands I use frequently I've created enhanced completions and wrappers that provide tables, lists, and records as output instead of the plain-text forms. Not all commands are fully-wrapped.
ag
The Silver Searcheratuin
magical shell historybrew
Homebrew package managercargo
Rust package managerdocker
Docker CLI (minimal)git
distributed version control system has its own repository nu-gitrg
ripgreprsync
incremental file transferrustup
Rust installerssh
OpenSSHtmux
terminal multiplexer
Supporting the above commands are some wrappers that are not loaded as shell commands by default. They're designed for supporting the commands listed above so they are neither named nor namespaced in a friendly way.
One you have $env.NU_LIB_DIRS
set up you can load the wrappers from scripts
(or into your shell):
# Load all `export`ed items from wrapper/ssh.nu
use wrapper ssh *
# Load only the listed items from wrapper/tmux.nu
use wrapper tmux [environment update-environment]
# Load only list_dependencies from wrapper/cargo.nu
use wrapper cargo list_dependencies
For more information see the nushell module documentation