nushell-plugins/nu_plugin_desktop_notifications
Jesús Pérez b99dcc83c3 feat: major repository modernization and tracking cleanup
## Summary

Comprehensive repository cleanup focusing on plugin dependency management, documentation improvements, and git tracking optimization.

## Key Changes

### 🔧 Core Infrastructure
- Synchronized all nu-* dependencies across plugins for version consistency
- Enhanced upstream tracking and automation systems
- Removed nushell directory from git tracking for cleaner repository management

### 📚 Documentation
- Significantly expanded README.md with comprehensive development guides
- Added detailed workflow documentation and command references
- Improved plugin collection overview and usage examples

### 🧹 Repository Cleanup
- Removed legacy bash scripts (build-all.sh, collect-install.sh, make_plugin.sh)
- Streamlined automation through unified justfile and nushell script approach
- Updated .gitignore with nushell directory and archive patterns
- Removed nushell directory from git tracking to prevent unwanted changes

### 🔌 Plugin Updates
- **nu_plugin_image**: Major refactoring with modular architecture improvements
- **nu_plugin_hashes**: Enhanced functionality and build system improvements
- **nu_plugin_highlight**: Updated for new plugin API compatibility
- **nu_plugin_clipboard**: Dependency synchronization
- **nu_plugin_desktop_notifications**: Version alignment
- **nu_plugin_port_extension & nu_plugin_qr_maker**: Consistency updates
- **nu_plugin_kcl & nu_plugin_tera**: Submodule synchronization

### 🏗️ Git Tracking Optimization
- Removed nushell directory from version control for cleaner repository management
- Added comprehensive .gitignore patterns for build artifacts and archives

## Statistics
- 2,082 files changed
- 2,373 insertions, 339,936 deletions
- Net reduction of 337,563 lines (primarily from removing nushell directory tracking)

## Benefits
- Complete version consistency across all plugins
- Cleaner repository with optimized git tracking
- Improved developer experience with streamlined workflows
- Enhanced documentation and automation
- Reduced repository size and complexity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 15:18:58 +01:00
..
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00
2025-06-27 02:31:23 +01:00

🔔 nu_plugin_desktop_notifications

A Nushell plugin for sending desktop notifications using notify-rust.


Features

  • Send notifications with custom title, body, icon, and app name.
  • Supports macOS, Windows, and Linux (XDG Desktop).
  • Configurable timeout (for macOS and XDG desktops).
  • Error handling with optional crash reporting.

📌 Usage

Sending a Notification

notify -t "Test notification body" --summary "Test title"

Flags

  • -h, --help → Show help message.
  • -s, --summary <string> → Title of the notification.
  • -t, --body <string> → Body message of the notification.
  • --subtitle <string> → Subtitle (macOS & Windows only).
  • -a, --app-name <string> → App name for the notification.
  • -i, --icon <filepath> → Path to an icon for the notification.
  • --timeout <duration> → Duration before the notification disappears (macOS & XDG Desktop only). Defaults to system settings.
  • --crash-on-error <filepath> → Return an error if the notification fails.

🎯 Example: Notify on Task Completion

Send a notification after a task completes, displaying the elapsed time:

image

def "notify on done" [
    task: closure
] {
    let start = date now
    let result = do $task
    let end = date now
    let total = $end - $start | format duration sec
    let body = $"Task completed in ($total)"
    notify -s "Task Finished" -t $body
    return $result
}

notify on done { port scan 8.8.8.8 53 }

🔧 Installation

git clone https://github.com/FMotalleb/nu_plugin_desktop_notifications.git  
nupm install --path nu_plugin_desktop_notifications -f  

🛠️ Manual Compilation

git clone https://github.com/FMotalleb/nu_plugin_desktop_notifications.git  
cd nu_plugin_desktop_notifications  
cargo build -r  
register target/release/nu_plugin_desktop_notifications  

📦 Install via Cargo (using git)

cargo install --git https://github.com/FMotalleb/nu_plugin_desktop_notifications.git  
register ~/.cargo/bin/nu_plugin_desktop_notifications  

Since I live in Iran and crates.io often restricts package updates, the version there might be outdated.

cargo install nu_plugin_desktop_notifications  
register ~/.cargo/bin/nu_plugin_desktop_notifications