From 7a3a922e73cd019556c7080494784ce2d52f0f52 Mon Sep 17 00:00:00 2001 From: emrtnn Date: Fri, 24 Jul 2026 14:26:28 +0200 Subject: [PATCH] Add pass launcher plugin (#89) --- pass/README.md | 47 +++++++++++++++++++ pass/launcher.luau | 95 ++++++++++++++++++++++++++++++++++++++ pass/plugin.toml | 30 ++++++++++++ pass/service.luau | 91 ++++++++++++++++++++++++++++++++++++ pass/thumbnail.webp | Bin 0 -> 49548 bytes pass/translations/en.json | 14 ++++++ 6 files changed, 277 insertions(+) create mode 100644 pass/README.md create mode 100644 pass/launcher.luau create mode 100644 pass/plugin.toml create mode 100644 pass/service.luau create mode 100644 pass/thumbnail.webp create mode 100644 pass/translations/en.json diff --git a/pass/README.md b/pass/README.md new file mode 100644 index 0000000..d7b8267 --- /dev/null +++ b/pass/README.md @@ -0,0 +1,47 @@ +# Pass + +Pass adds password-store search to the Noctalia launcher so you can copy passwords and OTP codes from `pass`. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `emrtnn/pass` | +| Entries | Launcher provider: `search`; service: `cache` | +| Launcher Prefix | `/pass` | + +## Requirements + +Install `pass`, `pass-otp`, `gpg`, and `wl-copy` on `PATH`. + +A working password store is expected in the same location `pass` uses: `$PASSWORD_STORE_DIR` when that variable is set, otherwise the default `~/.password-store`. OTP copying requires entries that are configured for `pass-otp`. + +## Usage + +Open the Noctalia launcher and type `/pass` to search password-store entries indexed by the `cache` service. Activate a result from launcher provider `search` to copy the password with `pass -c `. + +To copy an OTP code instead, type `/pass otp ` and activate the matching result. For example: + +```text +/pass otp github +``` + +If GPG needs an unlock passphrase, the plugin opens the configured terminal and runs the same copy command there so you can unlock the key interactively. + +## Settings + +| Setting | Type | Default | Description | +| --- | --- | --- | --- | +| `refresh_interval` | `int` | `30` | Seconds between password-store rescans. Minimum `5`, maximum `3600`. | + +## IPC + +This plugin does not expose custom IPC actions. It provides launcher provider `search` and background service `cache` entries only. + +## Notes + +- Filesystem reads: the service recursively scans `$PASSWORD_STORE_DIR` when set, otherwise `~/.password-store`, and indexes non-hidden `*.gpg` file names. It does not read decrypted password contents. +- Spawned processes: activating a password result runs `pass -c `; activating an OTP result runs `pass otp -c `. If GPG reports an unlock failure, the plugin opens a terminal and runs the same command interactively. +- Clipboard/privacy: copied secrets are handled by `pass`/`pass-otp` and the system clipboard tooling, typically including `gpg` and `wl-copy` on Wayland. The plugin stores only entry paths/titles in Noctalia state, not decrypted secrets. +- Network: the plugin makes no network calls. +- Writes: the plugin does not write files directly. `pass`, `pass-otp`, `gpg`, or clipboard tools may update their own runtime files such as agent or clipboard state. diff --git a/pass/launcher.luau b/pass/launcher.luau new file mode 100644 index 0000000..415b13e --- /dev/null +++ b/pass/launcher.luau @@ -0,0 +1,95 @@ +--!nonstrict + +local entries = {} + +local function shellEscape(str) + return "'" .. str:gsub("'", "'\\''") .. "'" +end + +noctalia.state.watch("entries", function(value) + entries = value or {} +end) + +function onQuery(query) + local results = {} + local action = "password" + local search = query + + if query:match("^otp%s+") then + action = "otp" + search = query:gsub("^otp%s+", "") + end + + for _, entry in ipairs(entries) do + local score + + if search == "" then + score = 1 + else + score = noctalia.fuzzyScore(search, entry.path) + end + + if score then + local subtitle = entry.subtitle ~= "" and entry.subtitle or nil + + if action == "otp" then + table.insert(results, { + id = "otp:" .. entry.id, + title = "Copy OTP: " .. entry.title, + subtitle = subtitle, + glyph = "123", + score = score, + }) + else + table.insert(results, { + id = "password:" .. entry.id, + title = entry.title, + subtitle = subtitle, + glyph = "key", + score = score, + }) + end + end + end + + launcher.setResults(query, results) +end + +local function copyWithPass(command, path, successMessage) + local escaped = shellEscape(path) + + noctalia.runAsync(command .. " " .. escaped, function(result) + if result.exitCode == 0 then + noctalia.notify("Pass", successMessage) + return + end + + local stderr = result.stderr or "" + local err = stderr:lower() + + if err:find("gpg") then + noctalia.notify("Pass", noctalia.tr("notification.unlocking")) + + noctalia.runInTerminal(command .. " " .. escaped) + return + end + + if err == "" then + err = noctalia.tr("notification.copy_failed") + else + err = stderr + end + + noctalia.notifyError("Pass", err) + end) +end + +function onActivate(id) + local action, path = id:match("^([^:]+):(.+)$") + + if action == "otp" then + copyWithPass("pass otp -c", path, "OTP code copied") + else + copyWithPass("pass -c", path or id, noctalia.tr("notification.copied")) + end +end diff --git a/pass/plugin.toml b/pass/plugin.toml new file mode 100644 index 0000000..390e25f --- /dev/null +++ b/pass/plugin.toml @@ -0,0 +1,30 @@ +id = "emrtnn/pass" +name = "Pass" +version = "0.0.1" +plugin_api = 3 +author = "emrtnn" +license = "MIT" +deprecated = false +icon = "key" +description = "Search and copy password-store entries from the Noctalia launcher" +tags = ["launcher", "privacy", "productivity", "utility"] +dependencies = ["pass", "pass-otp", "gpg", "wl-copy"] + +[[setting]] +key = "refresh_interval" +type = "int" +label_key = "settings.refresh_interval.label" +description_key = "settings.refresh_interval.description" +default = 30 +min = 5 +max = 3600 + +[[launcher_provider]] +id = "search" +entry = "launcher.luau" +prefix = "pass" +glyph = "key" + +[[service]] +id = "cache" +entry = "service.luau" diff --git a/pass/service.luau b/pass/service.luau new file mode 100644 index 0000000..9da3559 --- /dev/null +++ b/pass/service.luau @@ -0,0 +1,91 @@ +--!nonstrict + +local entries = {} + +local function publish() + noctalia.state.set("entries", entries) +end + +local function passwordStoreDir() + local dir = noctalia.getenv("PASSWORD_STORE_DIR") + + if dir and dir ~= "" then + return noctalia.expandPath(dir) + end + + return noctalia.expandPath("~/.password-store") +end + +local function scan(dir, prefix) + prefix = prefix or "" + + local names, err = noctalia.listDir(dir) + + if not names then + noctalia.log("Failed to list " .. dir .. ": " .. tostring(err)) + return + end + + for _, name in ipairs(names) do + -- Ignore hidden files/directories (.git, .extensions, .gpg-id, ...) + if name:sub(1, 1) ~= "." then + local full = dir .. "/" .. name + local info = noctalia.fileInfo(full) + + if info then + if info.isDir then + scan(full, prefix .. name .. "/") + + elseif name:sub(-4) == ".gpg" then + local path = prefix .. name:sub(1, -5) + + local title = path + local subtitle = "" + + local lastSlash = path:match("^.*()/") + + if lastSlash then + subtitle = path:sub(1, lastSlash - 1) + title = path:sub(lastSlash + 1) + end + + table.insert(entries, { + id = path, + path = path, + title = title, + subtitle = subtitle, + }) + end + end + end + end +end + +local function rebuild() + entries = {} + + local root = passwordStoreDir() + + if not noctalia.fileExists(root) then + noctalia.notifyError("Pass", noctalia.tr("notification.store_not_found")) + return + end + + scan(root) + + table.sort(entries, function(a, b) + return a.title:lower() < b.title:lower() + end) + + publish() +end + +function update() + rebuild() +end + +local refresh = noctalia.getConfig("refresh_interval") or 30 + +noctalia.setUpdateInterval(refresh * 1000) + +rebuild() diff --git a/pass/thumbnail.webp b/pass/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..ef06bc8ac3d1606d75d106dd6691accd8429daee GIT binary patch literal 49548 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%0D6MGD()4oKCf#sMv!Y~q;I_+l0#e&+Cu%&| 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