ClipNest is a modern, light-weight, and self-hosted clipboard manager. It runs as a quiet background service daemon, monitors your system clipboard, and offers a premium, responsive web-based user interface to browse, search, and manage your copied history.
- Clipboard Monitoring: Automatically tracks text and image clipboard content changes.
- Glassmorphism Web UI: A beautiful, modern interface to browse, search, copy back, and manage items.
- Privacy Controls: Easily pause/resume clipboard logging when copying sensitive data (e.g., passwords).
- History Pruning & Size Caps:
- Automatically prunes database records older than a specific amount of days.
- Limits the maximum number of items kept in history to keep storage usage low.
- Pinned Items: Star/pin items to keep them permanently in history, safe from pruning.
- Pure Go Core: Built with a single compiled binary backend and embedded front-end assets for easy execution.
- SQLite Storage: Uses a local SQLite database file to persist history.
- Linux (Wayland): Requires
wl-clipboard(provideswl-copyandwl-pastecommands). - Windows / macOS: Clipboard integration is modular.
- Go 1.21+ (Only needed if building from source).
Make sure you have wl-clipboard installed for Wayland clipboard support:
sudo apt update
sudo apt install -y wl-clipboardTo build the compiled binary:
go build -o clipnest ./cmd/clipnest./clipnestOnce running, the ClipNest daemon will begin monitoring your clipboard.
Open your web browser and navigate to:
http://localhost:49049/
Settings are saved in JSON format at:
- Linux:
~/.config/clipnest/config.json - Windows:
AppData\Roaming\clipnest\config.json
{
"start_on_login": true,
"history_enabled": true,
"history_limit": 100,
"retention_days": 30,
"shortcut": "Super+V",
"max_image_size_mb": 25,
"clear_history_on_exit": false,
"theme": "system",
"database_path": "~/.local/share/clipnest/clipnest.db",
"log_level": "INFO"
}ClipNest can receive commands from external triggers using IPC flags:
| Flag | Description |
|---|---|
-popup |
Triggers the clipboard history popup window |
-quit |
Requests the running ClipNest daemon to safely exit |
You can set up ClipNest to run automatically as a user service when you log in:
- Create a service file at
~/.config/systemd/user/clipnest.service:[Unit] Description=ClipNest Clipboard Manager After=graphical-session.target [Service] ExecStart=/path/to/compiled/clipnest Restart=on-failure WorkingDirectory=/path/to/clipnest [Install] WantedBy=default.target
- Enable and start the service:
systemctl --user daemon-reload systemctl --user enable clipnest systemctl --user start clipnest