Compare commits

..
2 Commits
Author SHA1 Message Date
kiri e887fcd435 updates 2026-09-27 12:35:04 +02:00
kiri 98a9be3615 cleanup 2026-09-22 22:05:11 +02:00
16 changed files with 96 additions and 204 deletions

No files matched your search

+4 -6
View File
@@ -11,12 +11,10 @@ and maintenance entry points. Global instructions remain applicable.
environment, or access live company systems with write authority. Test writes need
task-specific authority. Moving credentials or synchronizing company content
requires agreement; ordinary repository work does not authorize either.
- Follow the user's testing policy: automated tests only when explicitly requested
or covered by an established repository policy. A test file alone does not establish
a general policy. Use the smallest relevant review, build, or manual check.
- Use `just validate` for a completed configuration batch, or name affected hosts
for iteration. Read the short result first; inspect saved logs only for failures
or a concrete unresolved concern. Documentation-only edits need no system build.
- Do not write or run tests or perform extensive validation unless explicitly
requested. For routine changes, use a focused review or small manual check.
- Run `just validate` only when explicitly requested. Read its short result first;
inspect saved logs only for failures or a concrete unresolved concern.
- Replace superseded state in `docs/current-work.md`; keep durable rationale in
`docs/design.md` and operational detail beside its owner. Use Git for chronology.
Remove temporary state when it no longer serves a purpose.
+5 -5
View File
@@ -55,9 +55,9 @@ directory. Failure stops the command; snapshots are removed on exit. It neither
updates inputs nor creates result links or activates systems. The implementation is
`scripts/validate.py`; `just` and Python are installed on both workstations.
Use targeted hosts during iteration and full validation for a completed batch.
Documentation-only changes need review and `git diff --check`, not system builds.
Build, activation and interactive behavior are separate evidence.
Run targeted host builds or full validation only when explicitly requested. Routine
changes need a focused review or small manual check. Build, activation and
interactive behavior are separate evidence.
User-owned activation:
@@ -76,8 +76,8 @@ provisioning is documented with workbench. Never put plaintext secrets in Nix.
- **Orientation:** Super+Shift+N names the focused workspace; submit an empty name
to clear it. Named empty workspaces persist until cleared. Noctalia shows labels;
terminal titles include the working directory and command.
- **Icons/vault:** check Oil from Walker and Nautilus device/symbolic icons. Walker's
`?` vault provider should request unlocking on use, never during desktop startup.
- **Icons/vault:** check Oil from Walker and Nautilus device/symbolic icons. Check
Walker's `?` vault provider; upstream Elephant may query `rbw` during startup.
- **Calendar:** in Noctalia Settings → Services → Calendar, set the Radicale
password through the existing Personal account (GNOME Keyring). Add an ICS account
named Work using Outlook's published URL. Keep this URL in writable Noctalia
+17 -16
View File
@@ -10,6 +10,7 @@ Complete independent agreed work and obvious fixes autonomously. Leave consequen
unknowns pending and collect recommendations/alternatives into one substantial review
batch. Ask earlier only to prevent broad rework/blockage. The old 2–4-question quota
is superseded. Keep effort focused; no speculative systems or peripheral research.
Do not write or run tests or perform extensive validation unless explicitly requested.
Do not activate, push, decrypt for discovery or access company systems with write
authority. No subagents unless explicitly authorized by current instructions.
@@ -31,7 +32,7 @@ The unedited `~/sync/notes/setup-todo.md` remains an idea inbox, not authorizati
Noctalia labels; shell titles include directory/command. Garden shell initialization
now belongs to company integration instead of every host's generic shell.
- Kanagawa declares Adwaita/hicolor icon fallback; modest Limine branding/layout.
A pinned Elephant patch defers its startup `rbw list` to the explicit vault query.
Walker uses upstream Elephant without a local vault patch. It may query `rbw` at startup.
- GitHub devenv 2.3.2 installed with native Zsh hook and upstream reload defaults.
CLI dependencies keep upstream pins/cache; workbench tools use this repository's
exact nixpkgs pin. Company tools are also installed through the work profile. Product and
@@ -53,6 +54,8 @@ The unedited `~/sync/notes/setup-todo.md` remains an idea inbox, not authorizati
Validation prepares upstream devenv's import-from-derivation dependencies before
read-only flake checking, accepts the repository's declared official cache, and
reports interruption concisely. Full builds still include the tools-only shell.
The devenv cache is now in persistent NixOS Nix settings; the flake cache hint
was removed.
## Decisions/provisioning still needed
@@ -87,8 +90,8 @@ Final full validation passed before the final review deletions:
`/tmp/nixos-validate-t7zv1zux` (session 88912,
completed exit 0). Formatting, devenv preparation, flake check, all three host
builds (Orion, Polaris, Zenith), and the tools-only workbench build passed.
This includes the final notes startup ordering, serialized vault-query patch,
FUSE wrapper paths, native Zsh retry function and SecretSpec package collision fix.
This includes the final notes startup ordering, FUSE wrapper paths, native Zsh retry
function and SecretSpec package collision fix. The vault patch was removed afterward.
No systems were activated.
Native devenv tools-only startup also passed in an isolated temporary home:
@@ -101,9 +104,9 @@ Evidence: `/tmp/foundation-editor-check/{startup,notes}.log`. No real notebook o
credentials loaded. Built Kanagawa index declares `Inherits=Adwaita,hicolor`.
Python source syntax and local documentation links checked; no automated tests added.
The final review only removed the unaccepted Kubernetes login wrapper and the
The earlier final review removed the unaccepted Kubernetes login wrapper and the
machine-wide devenv cache setting; the flake-scoped cache remains. Full builds were
not repeated for those deletions.
not repeated for those deletions. The later Walker patch removal has not been built.
Builds do not establish interactive acceptance. The user checkpoint remains; do not
repeat full builds for documentation-only handoff edits.
@@ -112,18 +115,16 @@ repeat full builds for documentation-only handoff edits.
The final diff was reviewed for correctness, integration and Ponytail complexity.
Desktop/capability moves and repository wiring had no material findings. The review
removed the speculative Kubernetes login interpreter and kept the devenv cache at
flake scope instead of granting it machine-wide trust. The remaining Python has a
concrete role: in-memory concurrent secret loading with completeness checks, one-time
encrypted credential reshaping, dynamic OBS rclone configuration, or pre-existing
dictation/transcription behavior.
removed the speculative Kubernetes login interpreter. The devenv cache was later
moved from flake scope to machine-wide Nix settings at the user's request. The
remaining Python has a concrete role: in-memory concurrent secret loading with
completeness checks, one-time encrypted credential reshaping, dynamic OBS rclone
configuration, or pre-existing dictation/transcription behavior.
The user checkpoint is still required before this pass is complete. No implementation
commit was made in this turn.
Initial local commit `f164d8b` predates this implementation. Four documentation files
were already modified during the design pass; those changes belong to this effort.
No remote changes or activation have occurred. External workbench analysis/content
The user checkpoint is still required before this pass is complete. The implementation
was committed as `5748b34` after the initial foundation commit `f164d8b`. Later
cleanup removed the Walker patch, Handy test and AI capability README.
No activation was recorded during that pass. External workbench analysis/content
changes are unrelated and must not be committed here. Previous external loader
copies remain at `/tmp/workbench-environment-before-6k4dwzuo`; only root/workbench environment documentation and ignore entries were updated.
Backups: `/tmp/foundation-workbench-docs-bvrs1hu9`. Old external loaders remain
+10 -10
View File
@@ -52,8 +52,8 @@ Use store-qualified executables or `runtimeInputs` in packaged scripts; make run
paths and failures explicit. Do not duplicate package lists, generated settings or
binding references in documentation.
These clarify the agreed model; they are not a one-package-per-file rule, a new
testing policy, or a requirement for additional abstractions.
These clarify the agreed model; they are not a one-package-per-file rule or a
requirement for additional abstractions.
## Daily environment
@@ -74,9 +74,9 @@ Notes stay in `~/sync/notes`, mostly meeting material; no new taxonomy. HTTP and
database targets remain independently selected and visibly named. Dadbod working
queries and connection state stay outside Git; see the editor's `database.lua`.
Kanagawa remains the theme with Adwaita fallback icons. rbw unlocks on requested
vault access, preserving its lock policy. Outlook PWA owns work email/calendar
editing. Mailspring owns personal mail; Thunderbird remains a backup. Noctalia
Kanagawa remains the theme with Adwaita fallback icons. Walker uses upstream Elephant
without a local vault patch; it may query rbw during startup. Outlook PWA owns work
email/calendar editing. Mailspring owns personal mail; Thunderbird remains a backup. Noctalia
provides the combined read-only Radicale/Outlook agenda. The user accepts published
ICS link access and supplies the URL privately through runtime settings. Personal
calendar editing stays on the phone; keep khal/todoman.
@@ -118,11 +118,11 @@ validation feedback to repeated reminders. This applies the useful principle of
progressive disclosure from [OpenAI's harness engineering article](https://openai.com/index/harness-engineering/)
without introducing speculative skills, orchestration or evaluation infrastructure.
`just validate` includes working-tree changes and new nonignored files without staging,
formats, evaluates and builds. Concise results and saved logs minimize agent overhead.
Targeted host builds support iteration; a full run also builds workbench tools.
Builds do not prove activation or interactive behavior. Preserve the user's testing
policy; this pass does not create a new automated testing policy.
`just validate` is available on explicit request. It includes working-tree changes
and new nonignored files without staging, formats, evaluates and builds. Targeted
host builds are supported; a full run also builds workbench tools. Builds do not
prove activation or interactive behavior. Do not write or run tests or perform
extensive validation unless explicitly requested.
Keep native update and activation commands. `nix flake update` is normal; selective
updates (often `llm-agents`) are appropriate while nixpkgs breakage awaits repair.
Generated
+40 -40
View File
@@ -20,16 +20,16 @@
]
},
"locked": {
"lastModified": 1788011267,
"narHash": "sha256-mEq2kU+ljompTToZ44Afvm7d/rHJ5iMBl0tjZuyShJs=",
"lastModified": 1790001035,
"narHash": "sha256-1/SLBjSYBzDdDhvLQ83wrzBakyS/xNGgtxHGNuveOEQ=",
"owner": "Mic92",
"repo": "bun2nix",
"rev": "5765b0614591f75ee8ba5596e81ae85c167d1071",
"rev": "07a5bfc8ac36c5370199343fa620b69f63186e33",
"type": "github"
},
"original": {
"owner": "Mic92",
"ref": "fix-structured-attrs-hook",
"ref": "llm-agents",
"repo": "bun2nix",
"type": "github"
}
@@ -98,11 +98,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1789773873,
"narHash": "sha256-lFR8A3JzpXn4Az9quklprOje/+Njyh9+bP+CE1TCIxI=",
"lastModified": 1789991752,
"narHash": "sha256-SiH+H00IutELZBg7BBNo6r5DU6E+DG7DjrbeX5+QLa0=",
"owner": "cachix",
"repo": "devenv",
"rev": "2ba2f9ed32596289874c58981a4d3e56cadd639d",
"rev": "1c57b5dea0d400af97053fdd1a536fca17378f73",
"type": "github"
},
"original": {
@@ -118,11 +118,11 @@
]
},
"locked": {
"lastModified": 1781152676,
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
"lastModified": 1789770686,
"narHash": "sha256-uZkBR7yHdIKUFB5SZdfgh1qkGfI3XmYmI/lTiquxbck=",
"owner": "nix-community",
"repo": "disko",
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
"rev": "725ea35e410ad83be4931d1bff7e090eacaf3563",
"type": "github"
},
"original": {
@@ -281,11 +281,11 @@
]
},
"locked": {
"lastModified": 1788651960,
"narHash": "sha256-v9wJd32eZ2bvhBzVOd7TIjLQd011P7nwOhjKtWlci5I=",
"lastModified": 1790080548,
"narHash": "sha256-u4sa7RCbwvk8cZmAGs35F7o0h4IqDc3wsrrnjQvMumk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2c0350c759688177331b8f5242311fae8877bdb3",
"rev": "cbcbfa2778e0c5653ef349df3ebae8288efac3c0",
"type": "github"
},
"original": {
@@ -318,11 +318,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1789804571,
"narHash": "sha256-qYKCHhnLrEQ5XOH/5vwc57FSpPNCWC/4+AcWjJa7vPE=",
"lastModified": 1790311386,
"narHash": "sha256-bOexMr1RcAS6PFcMnEfwe5apsEoaLmSUUxlqUftd2uU=",
"owner": "numtide",
"repo": "llm-agents.nix",
"rev": "c2351168cdce1d7ab47961266b999a449f23bfad",
"rev": "1446b3cb242c8cd24619b58054112cc2d870e591",
"type": "github"
},
"original": {
@@ -378,11 +378,11 @@
]
},
"locked": {
"lastModified": 1788680125,
"narHash": "sha256-amGSoDobwmp4CFvCn841ws2iuitus+HUJdD/gKgsrJA=",
"lastModified": 1789892076,
"narHash": "sha256-Dkg4VKPmDPqTwaiw2WH5br73tXoL1qrOO0xJnR4TlcA=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "116ad1c2adb642405ef8916f6a94c8626f971344",
"rev": "9ad722673ab3b3f91f02135e53775825b240b869",
"type": "github"
},
"original": {
@@ -398,11 +398,11 @@
]
},
"locked": {
"lastModified": 1788744583,
"narHash": "sha256-oNMrijfyaoRjjWhxHNFSBYyEB4u/zb/AxoKewC56LvE=",
"lastModified": 1788981141,
"narHash": "sha256-7xWS16u13YGlRNKWaAPzRbEyh4OLOXJe31k7h4AnXNU=",
"owner": "BirdeeHub",
"repo": "nix-wrapper-modules",
"rev": "e88c449105c6aafa460196d3cbd16718655aee0f",
"rev": "1db3c116a6aa61823f8d8f3c47c306846428fc54",
"type": "github"
},
"original": {
@@ -444,11 +444,11 @@
]
},
"locked": {
"lastModified": 1788860136,
"narHash": "sha256-MhPMOFV4pVkygWEbQ8t1De/uQ9cWF1u++tRe2L5tG48=",
"lastModified": 1789978172,
"narHash": "sha256-FIRXajv1pPZ+l6On6ekkmcQ6le0Zi0ncRUoR3nB0vKA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "62173785b9a18c78b4a15aca2623d02bceb9d077",
"rev": "9ebcb7766700d7e006d9505247bd7ce0426f4232",
"type": "github"
},
"original": {
@@ -463,11 +463,11 @@
"nixpkgs-src": "nixpkgs-src"
},
"locked": {
"lastModified": 1789506231,
"narHash": "sha256-vNkJbtmqyBfFhn/HnzQo4ROuoyYWuy/allqTfJb4kMY=",
"lastModified": 1787753358,
"narHash": "sha256-Tl77VbWyAKrOfRNQhL6JbQtb/MLzbYa/1RG1gWWfICk=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "c2f38fe7f9e04d9aadd354d380f2bd40531d9737",
"rev": "256551e45f6303e142ab4a98be1bf243feb77dc0",
"type": "github"
},
"original": {
@@ -495,11 +495,11 @@
"nixpkgs-src": {
"flake": false,
"locked": {
"lastModified": 1789370336,
"narHash": "sha256-6RSEDHIWQtesQKWSu5qRai8L2h4KgCgMEfJHstW99G4=",
"lastModified": 1787394516,
"narHash": "sha256-pRGOQSClnXNI2iLUG6DYpsGvYcuw0drOutVZFTJNw90=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7def046b9a883d46974757852106483d741586f",
"rev": "c8f90650c15282fa8656a041bfbbd2403997a9a7",
"type": "github"
},
"original": {
@@ -511,11 +511,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1789632929,
"narHash": "sha256-RjR8AyvGlWuw16XRj7C1YDEw4E27ciuyPeB2nDMzgTU=",
"lastModified": 1790238896,
"narHash": "sha256-ym4BG18Pu2awiJIehla1Lo9xiB2QYRcCzW3SB74gEBY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a32edd7654519351e48e80372a928df336394670",
"rev": "34ca302a9572963c02e385c056be37c85ff51b77",
"type": "github"
},
"original": {
@@ -545,11 +545,11 @@
]
},
"locked": {
"lastModified": 1788886125,
"narHash": "sha256-5rgQFUGr8GXYyyuy8ynrN39WfZzSiO/wqGWjELBOkEY=",
"lastModified": 1790104132,
"narHash": "sha256-yvcudrhnWvWSFS2ujWxAJ7CVdgdiZs2BDGbgn38p1l0=",
"owner": "noctalia-dev",
"repo": "noctalia",
"rev": "d6607b4eafbb92f6d494ebed3e296d4b741c0b58",
"rev": "61aa22730c434500fd3f2048eba47658b1f20aad",
"type": "github"
},
"original": {
@@ -603,11 +603,11 @@
]
},
"locked": {
"lastModified": 1788337237,
"narHash": "sha256-gkSH8VUtCo6hnysNmb9DbTuDepH2t5pv+QWjP75xKAk=",
"lastModified": 1789890976,
"narHash": "sha256-GKwH3zpy7tartuJMG0Rv/xUsdetG1QLmTVv8UKgJLmA=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "fbf759290e0cb0a98dfc813a4eb7d53ad1dacb57",
"rev": "7214124c20c1542c90deb54af50e2f53ae02711f",
"type": "github"
},
"original": {
-5
View File
@@ -1,11 +1,6 @@
{
description = "NixOS Configuration";
nixConfig = {
extra-substituters = [ "https://devenv.cachix.org" ];
extra-trusted-public-keys = [ "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" ];
};
inputs = {
devenv.url = "github:cachix/devenv";
disko = {
-14
View File
@@ -1,14 +0,0 @@
# AI tools
Nix installs the tools, assets, skills and system Codex defaults. Codex owns its
writable user configuration; credentials, session history and other runtime state
remain outside this repository. `instructions/codex.md` owns global agent guidance.
Herdr is optional experimentation. Reload its managed configuration with
Ctrl+Alt+Shift+R (or Ctrl+B then Shift+R); its configuration owns the binding reference.
Home Manager may preserve an earlier regular configuration file with `.bak`.
Ollama supplies `nomic-embed-text` for grounded-docs. The latter runs on localhost
port 6280 with persistent Podman volumes. Removing another tool must not delete
these models or volumes. No mandatory agent persistence or orchestration workflow
is defined here.
+3 -1
View File
@@ -28,6 +28,8 @@ in
};
features.plugins = true;
# The Nix package lacks the codex-package.json layout the daemon requires.
features.daemon_auto_start = false;
hooks = ai.codexHooks;
mcp_servers = ai.servers // {
context7 = ai.servers.context7 // {
@@ -98,7 +100,7 @@ in
pkgs.nodejs
pkgs.python3
inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.codex
pkgs.llm-agents.chatgpt
inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.chatgpt
pkgs.llm-agents.pi
pkgs.llm-agents.claude-code
pkgs.llm-agents.herdr
@@ -14,9 +14,8 @@
# Validation
- Write or run automated tests only when explicitly requested or covered by the repository's established testing policy. Do not invent a testing policy or introduce tests into a repository without tests unless explicitly requested.
- Validate changes with the smallest relevant build, manual behaviour check, or review of code and output.
- Broaden or repeat validation only for changes, failures or unresolved concerns. Report only checks performed.
- Do not write or run tests or perform extensive validation unless explicitly requested.
- For routine changes, use a focused review or small manual check. Report only checks performed.
# Writing
+9
View File
@@ -8,4 +8,13 @@
jack.enable = true;
};
};
flake.modules.homeManager.audio =
{ pkgs, ... }:
{
home.packages = [
pkgs.reaper
pkgs.bitwig-studio
];
};
}
@@ -1,37 +0,0 @@
"""Synthetic key-state checks; never reads a keyboard or records audio."""
from unittest.mock import Mock, patch
import push_to_talk as ptt
down = [ptt.key.KEY_LEFTMETA, ptt.key.KEY_D]
def check(states, expected, error=None):
device = Mock()
device.active_keys.side_effect = states
device.read_loop.return_value = iter([object(), object()])
if error:
device.read_loop.side_effect = error
with (
patch.object(ptt, "list_devices", return_value=["keyboard"]),
patch.object(ptt, "InputDevice", return_value=device),
patch.object(ptt.signal, "signal"),
patch.object(ptt.subprocess, "run") as run,
):
try:
ptt.main("handy")
except (OSError, KeyboardInterrupt):
assert error is not None
assert [call.args[0][1] for call in run.call_args_list] == expected
device.close.assert_called_once()
check([[]], []) # Released before the listener starts: do not record.
check([down, []], ["--toggle-transcription", "--toggle-transcription"])
check([down, down, down, [ptt.key.KEY_D]], ["--toggle-transcription"] * 2)
check([down, down], ["--toggle-transcription", "--cancel"], OSError("unplugged"))
check([down, down], ["--toggle-transcription", "--cancel"], KeyboardInterrupt())
assert ptt.held([ptt.key.KEY_RIGHTMETA, ptt.key.KEY_D])
assert not ptt.held([ptt.key.KEY_LEFTMETA])
print("Push-to-talk release, repeat, disconnect and cancellation checks passed")
+4
View File
@@ -14,6 +14,10 @@ in
settings = {
trusted-users = [ "@wheel" ];
use-xdg-base-directories = true;
extra-substituters = [ "https://devenv.cachix.org" ];
extra-trusted-public-keys = [
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
];
experimental-features = [
"nix-command"
-12
View File
@@ -23,16 +23,6 @@
...
}:
let
elephantPackages = inputs.walker.inputs.elephant.packages.${pkgs.stdenv.hostPlatform.system};
# Upstream initializes rbw at startup. Drop this patch when it supports lazy vault access.
providers = elephantPackages.elephant-providers.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [ ./demand-driven-vault.patch ];
});
elephant = elephantPackages.elephant-with-providers.overrideAttrs (old: {
installPhase =
builtins.replaceStrings [ "${elephantPackages.elephant-providers}" ] [ "${providers}" ]
old.installPhase;
});
walkerDefaults = builtins.fromTOML (builtins.readFile "${inputs.walker}/resources/config.toml");
launcher = pkgs.writeShellApplication {
@@ -46,8 +36,6 @@
{
imports = [ inputs.walker.homeManagerModules.default ];
programs.elephant.package = elephant;
desktop.commands.launcher = [ (lib.getExe launcher) ];
programs.walker = {
enable = true;
@@ -1,55 +0,0 @@
--- a/internal/providers/bitwarden/setup.go
+++ b/internal/providers/bitwarden/setup.go
@@ -34,7 +34,7 @@
func Setup() {
LoadConfig()
- initItems()
+ // Vault access is initiated by an explicit query, never daemon startup.
}
func LoadConfig() {
--- a/internal/providers/bitwarden/query.go
+++ b/internal/providers/bitwarden/query.go
@@ -7,6 +7,7 @@
"net"
"os/exec"
"strings"
+ "sync"
"time"
"github.com/abenz1267/elephant/v2/pkg/common"
@@ -20,7 +21,24 @@
Folder string `json:"folder"`
}
+var itemsMu sync.Mutex
+
func initItems() {
+ itemsMu.Lock()
+ defer itemsMu.Unlock()
+ initItemsLocked()
+}
+
+func items() []RbwItem {
+ itemsMu.Lock()
+ defer itemsMu.Unlock()
+ if cachedItems == nil {
+ initItemsLocked()
+ }
+ return cachedItems
+}
+
+func initItemsLocked() {
cachedItems = nil
cmd := exec.Command("rbw", "list", "--raw")
output, err := cmd.CombinedOutput()
@@ -40,7 +58,7 @@
entries := []*pb.QueryResponse_Item{}
- for k, v := range cachedItems {
+ for k, v := range items() {
var subtexts []string
actions := []string{ActionCopyPassword, ActionCopyTotp, ActionSyncVault}
if config.AutoTypeSupport {
@@ -13,6 +13,7 @@
kubelogin-oidc
jq
just
python3Packages.python-openstackclient
python314
rclone
sops
+1
View File
@@ -43,6 +43,7 @@ in
flake.modules.homeManager.workstation-base = {
imports = [
homeModules.passwords
homeModules.audio
homeModules.clipboard
homeModules.handy
homeModules.desktop-commands