A collection of Nushell libraries and tools:
- rescope: scoped resources and deferred execution
- prowser: a prompt-based file browser, based on
std dirsandfzf - enverlay: a tunable
direnvintegration, and a prompt that shows your current env and Nushell overlays - repage: record the result of the last command, show info about it in the prompt and re-render it in detail in a pager
- nupg: nushell interface for PostgreSQL, with automatic conversions to Nushell types and query autocompletion
- nugh: nushell wrappers for the github CLI tool
- nujj: nushell wrappers for
jj(Jujutsu) - jjiles: a jj Watcher: an interactive
jj logwithfzf(à lajj-fzf), with custom jj log templates support, auto-refresh, adaptive diff layout, system theme detection (which will also work in WSL) and syntax-highlighting viadelta - nypst: Generate
Typstcode programmatically with Nu code
The reason to collect them all here is because Nushell currently does not have a default package manager, and some of these libraries depend on one another.
Clone the repo, and add to your config.nu:
const NU_LIB_DIRS = ["path/to/monurepo/clone"] ++ $NU_LIB_DIRSYou can now use any of the libraries here. However, you will need to
install separately all the dependencies of each library you want to use, through
your usual package manager. See each lib's own README.md file.
You can install libraries from monurepo into a dedicated nix profile. If you
activated flakes:
nix profile add github:YPares/monurepo#nupg --profile ~/.nu-nix-profile
nix profile add github:YPares/monurepo#repage --profile ~/.nu-nix-profile
...(NOTE: "add" was called "install" in older Nix versions, keep it in mind if
an error pops up saying that "add" command does not exist)
Then add to your config.nu:
const NU_LIB_DIRS = ["~/.nu-nix-profile"] ++ $NU_LIB_DIRSThe advantages are:
- external dependencies for each lib come along for free, thanks to Nix
- you can update everything that is installed in the profile at once:
nix profile upgrade --profile ~/.nu-nix-profile --all
See nushellWith.