commit 967b5c2be52ec67cf9aa6b7484ad8b127e853b96 Author: Jesús Pérex Date: Fri Jun 27 01:26:44 2025 +0100 init repo diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..0667c22 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "nu_plugin_tera"] + path = nu_plugin_tera + url = ssh://git@repo.jesusperez.pro:32225/jesus/nu_plugin_tera.git +[submodule "nu_plugin_kcl"] + path = nu_plugin_kcl + url = ssh://git@repo.jesusperez.pro:32225/jesus/nu_plugin_kcl.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..a593a43 --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# Nushell plugins for Provisioning + +A [Nushell](https://nushell.sh/) plugins collection for [Provisioning project](https://rlung.librecloud.online/jesus/provisioning) + +>[!WARNING] +> This repo contains sub-repos, use git clone --recurse-submodules + +```bash +git clone --recurse-submodules [URL-to-clone-nushell-plugin] +``` + +> [!CAUTION] +> **nu_plugin_*** have dependencies to nushell source via local path in Cargo.toml +> Nushell and plugins require to be **sync** with same version + +## FILES (content layout) + +
+.
+├── collect-install.sh      Script to collect all nu_plugin_* and install in /usr/local/bin
+├── distribution
+│   ├── collect.sh          Script to build and collect nu_plugin_* 
+│   ├── LICENSE
+│   └── README.txt
+├── generate                Template to generate plugins. Used with make_plugin.sh
+│   └── nu_plugin_template
+├── LICENSE
+├── make_plugin.sh          To generate Nushell plugins. Used with generate path
+├── nushell                 Nushell repo to be used as path for all nu_plugin_*
+├── nu_plugin_clipboard
+├── nu_plugin_desktop_notifications
+├── nu_plugin_hashes
+├── nu_plugin_highlight
+├── nu_plugin_image
+├── nu_plugin_port_extension
+├── nu_plugin_qr_maker
+├── nu_plugin_kcl           Repo for nu_plugin_kcl (repo sub-module)
+├── nu_plugin_tera          Repo for nu_plugin_tera (repo sub-module)
+├── api_nu_plugin_kcl       A try to use API KCL, nu_plugin_kcl is recommended option
+└── README.md
+
+ +## Build and Install + +- Run [build-all.sh](build-all.sh) +```bash +./build-all.sh +``` +- Collect all target/release with [collect-install.sh](collect-install.sh), this will: + - Run [distribution/collect.sh](distribution/collect.sh) to copy into [distribution](distribution) directory + - install [distribution](distribution) directory **nu_plugin_** into **/usr/local/bin** +```bash +./collect-install.sh +``` +## Nushell install + +Plugins have to be added from [Nushell](https://nushell.sh/) + +```nushell +plugin add /usr/local/bin/nu_plugin_clipboard +plugin add /usr/local/bin/nu_plugin_desktop_notifications +plugin add /usr/local/bin/nu_plugin_hashes +plugin add /usr/local/bin/nu_plugin_highlight +plugin add /usr/local/bin/nu_plugin_image +plugin add /usr/local/bin/nu_plugin_kcl +plugin add /usr/local/bin/nu_plugin_port_extension +plugin add /usr/local/bin/nu_plugin_qr_maker +plugin add /usr/local/bin/nu_plugin_tera +``` + +### TODO + +- [ ] Use settings for **platforms-architectures targets** +- [ ] Use param values for **install path** diff --git a/nu_plugin_kcl b/nu_plugin_kcl new file mode 160000 index 0000000..5a4d9df --- /dev/null +++ b/nu_plugin_kcl @@ -0,0 +1 @@ +Subproject commit 5a4d9df16e795130e05913d00a5b4d62a523e44a diff --git a/nu_plugin_tera b/nu_plugin_tera new file mode 160000 index 0000000..12b697b --- /dev/null +++ b/nu_plugin_tera @@ -0,0 +1 @@ +Subproject commit 12b697b8583864727b0bf2ac800dda5d5e4e34eb