mise is a tool that integrates into the shell, providing a way to manage (globally and project-specific) dev tools and env vars, and can be used as a task runner. It may appeal to Nushell users, as it's popular, written in rust, and supports Nushell. - nushell specific info: https://mise.jdx.dev/getting-started.html#nushell - source code: https://github.com/jdx/mise
13 KiB
awesome-nu
A curated list of awesome tools that work within the nu language ecosystem e.g. nushell, scripts, nana, etc. Feel free to raise a PR with your very cool script, plugin or custom completion 🚀.
If you are looking for interesting blog posts, media attention or youtube videos on nushell please checkout our Showcase !
Plugins
You can find some examples about how to create and use plugins in the Nushell Plugins page.
- nu_plugin_periodic_table: A periodic table of elements plugin.
- nu_plugin_query: Query json, xml and web pages.
- nu_plugin_inc: Plugin to increment semantic versioning strings.
- nu_plugin_gstat: Show the git working tree status.
- nu_plugin_net: List network interfaces on any platform.
- nu_plugin_pnet: Same as above but named
pnet
as to not conflict with Windowsnet
built-in. - nu_plugin_bin_reader: A high level, general binary data reader.
- nu_plugin_from_parquet: A plugin to parse parquet files into nushell data structures.
- nu_plugin_bio: A bioinformatics plugin for nushell.
- nu_plugin_regex: A regular expressions plugin for nushell.
- nu_plugin_template: A
cargo-generate
template for making it easier to create nushell plugins. - nu_plugin_plist: A plist plugin for nushell.
- nu_plugin_plot: A terminal plotting plugin for nushell.
- nu_plugin_from_hdf5: A plugin to parse HDF5 files into nushell record.
- nu_plugin_from_beancount: A nushell extension to load a beancount file into nu structured data.
- nu_plugin_from_bencode: A converter plugin from the bencode format for Nushell.
- nu_plugin_dialog: A nushell plugin for user interaction.
- nu_plugin_formats: A nushell plugin for from eml, ics, ini, vcf.
- nu_plugin_dcm: A nushell plugin to parse Dicom files.
- nu_plugin_hcl: A Hashicorp Configuration Language plugin for nushell.
- nu_plugin_json_path: A nushell plugin for parsing json that uses the json path specification.
- nu_plugin_str_similarity: A nushell plugin that helps you calculate the edit distance between two strings using a variety of algorithms.
- nu_plugin_bexpand: Bash style brace expansion for nushell.
- nu_plugin_highlight: 🌈 A nushell plugin for syntax highlighting.
- nu_plugin_emoji: A nushell plugin that makes finding and printing emojis easy in nushell.
- nu_plugin_kdl: A plugin to add KDL support to Nushell.
- nu_plugin_file: A nushell plugin that will inspect a file and return information based on it's magic number.
- nu_plugin_dns: DNS utility for nushell.
- nu_plugin_port_scan: A nushell plugin for scanning ports on a target.
- nu_plugin_port_list: A nushell plugin to list all active connections.
- nu_plugin_audio_hook: A nushell plugin to make and play sounds.
- nu_plugin_desktop_notifications: A nushell plugin to send desktop notifications.
- nu_plugin_clipboard: A nushell plugin to copy text into clipboard or get text from it.
- nu_plugin_qr_maker: A nushell plugin to create qr code in terminal.
- nu_plugin_msgpack: Nushell plugin for converting to and from msgpack.
- nu_plugin_bash_env: A Bash environment plugin for nushell.
- nu_plugin_units: A Nushell plugin for easily converting between common units.
- nu_plugin_image: A nushell plugin to open png images in the shell and save ansi string as images.
- nu_plugin_semver: A Nushell plugin to manipulate SemVer versions.
- nu_plugin_dbus: Nushell plugin for interacting with D-Bus.
- nu_plugin_dpktable: Gets a table of all known packages in a Debian GNU/Linux system.
- nu_plugin_from_sse: Nushell plugin to parse a stream of HTTP server sent events.
- nu_plugin_ulid: A nushell plugin that adds various ulid commands.
- nu_plugit_hmac: HMAC sealing for nushell.
If the shell freezes while registering the command, that means the plugin is using an older Nu version no longer compatible with your current version. Consider bumping the Nu version to the latest in the
cargo.toml
, (may lead to breaking the script).
To check the Nushell compatibility of each plugin you can check the plugin_details.md
- ✅ it uses the latest version
- ⚠️ it does not use the latest version but it may work
- ⛔ plugin uses a deprecated API (cannot be compiled) or deprecated signature (Nushell cannot interact with them)
In order to add your own plugin please fork this repository and add it to the list above and the list of plugins in config.yaml and then send a Pull Request.
Scripts
You can find some examples about how to create and use scripts in the Nushell Scripts page.
- cargo_search: Perform a cargo search.
- git_gone: Gently try to delete merged branches, excluding the checked out one.
- nuschiit: Webscrapping example for the schiit.co.uk website.
- conda: Activate/deactivate conda virtual environments.
- get-weather: Get weather forecast for your location.
- ultimate_extractor: Function to extract archives with different extensions.
- math_functions: Math functions for doing things like
factorial
,root
. - wolframalpha: WolframAlpha API wrapper.
- packer.nu: A packer.nvim inspired package-manager for NuShell.
- terraform-importer.nu: Automatically import resources into your Terraform state.
- npup.nu: Puppet based on nushell.
- comma.nu: Task and test runner of nu script.
- wi: A linguist wrapper for the terminal.
Custom Completions
You can find some examples about how to create and use custom completions in the Nushell Custom Completions page.
- git: Completions for
git
commands. - make: Completions for
make
commands. - npm: Completions for
npm
commands. - cargo: Completions for
cargo
commands. - winget: Completions for
winget
package manager.
Integrations
Other tools that work with or within the nu language ecosystem.
- couchbase-shell: A modern, productive and fun shell for Couchbase Server and Cloud.
- starship: The minimal, blazing-fast, and infinitely customizable prompt for any shell.
- zoxide: A smarter cd command, inspired by z and autojump.
- oh-my-posh: A prompt theme engine for any shell.
- virtualenv: Provides support for creating lightweight Python "virtual environments".
- ansible: Ansible role that installs nushell on your server.
- github action: A GitHub action that runs nushell in your CI.
- nix flake: A
nix
flake that outputsnushell
packages, docs and tests as well as adevShell
for developingnushell
. - atuin: 🐢 Magical shell history.
- jc: A collection of parsers for common unix tools that outputs JSON for easy import into nushell with
from json
. - clap_complete_nushell: A way to generate completions for clap based CLIs.
- Nuenv: An experimental Nushell environment for Nix.
- Dorothy: 🧙♀️ Bring your dotfile commands and configuration to any shell, including Nu, Fish, Zsh, Bash.
- bru: A Nushell wrapper for Homebrew.
- nunvm: A cross-platform nvm clone written in nushell.
- nu-stats: Nushell history tools.
- Direnv: unclutter your .profile.
- nuPHP: Nu personal homepage webserver.
- broot: A new way to see and navigate directory trees.
- nur: A taskrunner based on nu shell.
- pspg: A postgres pager that integrates in nushell.
- mise: A development environment setup tool (dev tools, env vars, task runner) that integrates with Nushell.
Editor Extensions
Plugins and Extensions that you can use in other text editors
- Official Tree-sitter: A tree-sitter grammar for nu-lang, the language of nushell.
- Alternate Tree-sitter: A Tree-sitter project for nushell.
- nvim plugin: A nvim pluging for nushell.
- helix: The helix editor also uses tree-sitter queries and are integrated into it now.
- visual studio code: The official nushell visual studio code extension. Also available on the Microsoft Marketeplace and within visual studio code itself.
- Sublime Text: Nushell syntax highlight for sublime text.
- Emacs: Emacs major mode for Nushell scripts.
- Sublime Text: Sublime Text Nushell Package.
- vim plugin: Nushell syntax highlighting for Vim.
- Nushell LSP: The official Nushell LSP.
Reedline Integrations
Applications that have done a nice job using reedline
- Glaredb: An analytics DBMS for distributed data.