183 lines
3.9 KiB
Markdown
183 lines
3.9 KiB
Markdown
|
|
# Nushell Distribution - Quick Start
|
||
|
|
|
||
|
|
## 📦 For End Users
|
||
|
|
|
||
|
|
### 1. Extract Distribution
|
||
|
|
```bash
|
||
|
|
tar -xzf nushell-plugins-distribution.tar.gz
|
||
|
|
cd nushell-plugins-distribution
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. See Available Plugins
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --list
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Install Preferred Option
|
||
|
|
|
||
|
|
**Option A: Install Essential Plugins (Recommended)**
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --preset essential
|
||
|
|
```
|
||
|
|
|
||
|
|
**Option B: Install Development Tools**
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --preset development
|
||
|
|
```
|
||
|
|
|
||
|
|
**Option C: Install Everything**
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all
|
||
|
|
```
|
||
|
|
|
||
|
|
**Option D: Install Specific Plugins**
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --select auth kms orchestrator
|
||
|
|
```
|
||
|
|
|
||
|
|
**Option E: Preview First (Dry-Run)**
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all --check
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4. Verify Installation
|
||
|
|
```bash
|
||
|
|
nu -c "plugin list"
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. Restart Shell
|
||
|
|
```bash
|
||
|
|
exit && nu
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔧 For Distribution Creators
|
||
|
|
|
||
|
|
### 1. Create Distribution Directory
|
||
|
|
```bash
|
||
|
|
mkdir -p distribution/bin
|
||
|
|
# Copy nushell binary and plugins here
|
||
|
|
cp nu distribution/
|
||
|
|
cp nu_plugin_* distribution/bin/
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Generate Manifest
|
||
|
|
```bash
|
||
|
|
./scripts/create_distribution_manifest.nu distribution/bin \
|
||
|
|
--output distribution/DISTRIBUTION_MANIFEST.json
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Add Installer
|
||
|
|
```bash
|
||
|
|
cp scripts/install_from_manifest.nu distribution/
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4. Package Distribution
|
||
|
|
```bash
|
||
|
|
tar -czf nushell-plugins-distribution.tar.gz distribution/
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. Distribute Package
|
||
|
|
```bash
|
||
|
|
# Share the tar.gz file with users
|
||
|
|
# They extract it and run: ./install_from_manifest.nu
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 Common Scenarios
|
||
|
|
|
||
|
|
### "I want the essential plugins to get started"
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --preset essential
|
||
|
|
```
|
||
|
|
|
||
|
|
### "I want to preview what will be installed first"
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all --check
|
||
|
|
```
|
||
|
|
|
||
|
|
### "I want to install only Nushell binary, no plugins"
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --nu-only
|
||
|
|
```
|
||
|
|
|
||
|
|
### "I want to install plugins only, skip Nushell"
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --plugins-only --all
|
||
|
|
```
|
||
|
|
|
||
|
|
### "I want to install but skip registration"
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all --install-only
|
||
|
|
# Then manually register: nu -c "plugin add ~/.local/bin/nu_plugin_auth"
|
||
|
|
```
|
||
|
|
|
||
|
|
### "Just register plugins that are already installed"
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all --register-only
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📋 Plugin Descriptions
|
||
|
|
|
||
|
|
| Plugin | Purpose |
|
||
|
|
|--------|---------|
|
||
|
|
| `nu_plugin_auth` | Authentication (JWT, MFA) |
|
||
|
|
| `nu_plugin_kms` | Encryption & KMS |
|
||
|
|
| `nu_plugin_orchestrator` | Orchestration operations |
|
||
|
|
| `nu_plugin_kcl` | KCL configuration |
|
||
|
|
| `nu_plugin_tera` | Template rendering |
|
||
|
|
| `nu_plugin_highlight` | Syntax highlighting |
|
||
|
|
| `nu_plugin_image` | Image processing |
|
||
|
|
| `nu_plugin_clipboard` | Clipboard operations |
|
||
|
|
| `nu_plugin_hashes` | Hash functions |
|
||
|
|
| `nu_plugin_qr_maker` | QR code generation |
|
||
|
|
| `nu_plugin_fluent` | Localization |
|
||
|
|
| `nu_plugin_desktop_notifications` | Desktop notifications |
|
||
|
|
| `nu_plugin_port_extension` | Port extensions |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🆘 Troubleshooting
|
||
|
|
|
||
|
|
**Q: "Manifest not found" error?**
|
||
|
|
A: Ensure `DISTRIBUTION_MANIFEST.json` is in the same directory as the installer, or use `--manifest` flag:
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --manifest /path/to/manifest.json
|
||
|
|
```
|
||
|
|
|
||
|
|
**Q: Plugins installed but not appearing in `plugin list`?**
|
||
|
|
A: They need to be registered. Use:
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all --register-only
|
||
|
|
```
|
||
|
|
|
||
|
|
**Q: Want to uninstall plugins?**
|
||
|
|
A: Manually remove them:
|
||
|
|
```bash
|
||
|
|
rm ~/.local/bin/nu_plugin_*
|
||
|
|
nu -c "plugin rm auth kms" # Remove from config
|
||
|
|
```
|
||
|
|
|
||
|
|
**Q: Something went wrong, want to try again?**
|
||
|
|
A: Use dry-run first:
|
||
|
|
```bash
|
||
|
|
./install_from_manifest.nu --all --check
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✨ Next Steps
|
||
|
|
|
||
|
|
After installation:
|
||
|
|
|
||
|
|
1. **Restart your shell**: `exit && nu`
|
||
|
|
2. **Verify plugins**: `nu -c "plugin list"`
|
||
|
|
3. **Use new plugins**: Check plugin documentation
|
||
|
|
4. **Configure**: Edit `~/.config/nushell/env.nu` if needed
|
||
|
|
|
||
|
|
Enjoy your enhanced Nushell environment! 🚀
|