# 📋 nu_plugin_clipboard A [nushell](https://www.nushell.sh/) 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: ```bash $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](https://github.com/FMotalleb/nu_plugin_clipboard/issues/20). ## 📌 Usage Examples ### Copying a string (supports only strings for now) ```bash echo "test value" | clipboard copy ``` ### Using clipboard content ```bash 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. ```bash $env | clipboard copy clipboard paste ps | clipboard copy clipboard paste ``` ## 🔧 Installation ### 🚀 Recommended: Using [nupm](https://github.com/nushell/nupm) This method automatically handles dependencies and features: ```bash 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: ```bash $env.config.plugins.clipboard.NO_DAEMON = true ``` ### 🛠️ Manual Compilation ```bash 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) ```bash cargo install --git https://github.com/FMotalleb/nu_plugin_clipboard.git plugin add ~/.cargo/bin/nu_plugin_clipboard ``` ### 📦 Install via Cargo (crates.io) _Not Recommended_ - 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. ```bash cargo install nu_plugin_clipboard plugin add ~/.cargo/bin/nu_plugin_clipboard ```