nushell-plugins/nu_plugin_clipboard
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_clipboard

A nushell plugin for interacting with the clipboard, allowing you to copy/paste text, objects, and tables.

Features

  • clipboard copy: Copies input text to the clipboard.

    • Daemon Behavior: Since version 0.105.2, using env variables will try to detect display server. This config will override this behavior, if you need to override this please report and issue:

      $env.config.plugins.clipboard.NO_DAEMON = true
      
    • To make this setting permanent, add it to your config env.

  • clipboard paste: Retrieves the current clipboard content.

⚠️ Important

If you face the error Error: × Clipboard Error: The clipboard contents were not available in the requested format... Try disabling the daemon mode, as mentioned in #20.

📌 Usage Examples

Copying a string (supports only strings for now)

echo "test value" | clipboard copy 

Using clipboard content

clipboard paste | echo $in

Copying tables and objects

  • Tables and objects are internally converted to JSON.
  • When pasting, clipboard paste tries to parse JSON into a table or object.
  • If parsing fails, the content is returned as a string.
$env | clipboard copy
clipboard paste

ps | clipboard copy
clipboard paste

🔧 Installation

This method automatically handles dependencies and features:

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

⚙️ Supported Features

  • use-wayland: Prioritizes the Wayland API, but falls back to X11 if needed.

  • enforce-daemon: (Deprecated) Now always enabled on Linux. Disable with:

    $env.config.plugins.clipboard.NO_DAEMON = true
    

🛠️ Manual Compilation

git clone https://github.com/FMotalleb/nu_plugin_clipboard.git
cd nu_plugin_clipboard
cargo build -r
plugin add target/release/nu_plugin_clipboard

📦 Install via Cargo (using git)

cargo install --git https://github.com/FMotalleb/nu_plugin_clipboard.git
plugin add ~/.cargo/bin/nu_plugin_clipboard
  • Since I live in Iran and crates.io won't let me update my packages like a normal person, most of the time crates.io is outdated.
cargo install nu_plugin_clipboard
plugin add ~/.cargo/bin/nu_plugin_clipboard