Commits
Adds 'aliases' parameter to create additional symlinks to wrapped executables.
This allows tools to be accessible under multiple names.
Downloads all files in parallel with aria2c while playing them sequentially with mpv.
Waits for each file to have content before starting playback.
Extracts basename from URLs since aria2c saves without directory structure.
- Remove identities file requirement
- Convert from writeShellApplication to makeWrapper
- Use PASS_BULK_KEY_FILE environment variable for bulk decryption
- Auto-create bulk key file from password store if needed
- Remove complex bulk operations logic
Fixes deployment error where syncthing was trying to reference machines (like mors)
that don't have syncthing IDs in the vars system.
- Update syncthing peer discovery to read from vars/per-machine//syncthing/syncthing.pub/value
- Update zerotier host discovery to read from vars/per-machine//zerotier/zerotier-ip/value
- Update syncthing key/cert references to use config.clan.core.vars.generators.syncthing.files paths
Replace all instances of config.krebs.users.lass.pubkey with hardware keys:
- self.keys.ssh.yubi_pgp
- self.keys.ssh.yubi1
- self.keys.ssh.yubi2
- self.keys.ssh.solo2
- Rename yubi.pgp to yubi_pgp.pgp
- Rename yubi.ssh to yubi_pgp.ssh
- Update all references in flake-module.nix, barnacle configuration, and yubikey.nix
- Make pass-otp accept OTP secrets via stdin or args instead of calling passage directly
- Update pass wrapper to pipe password content to pass-otp
- Remove redundant PATH export for age plugins (already in runtimeInputs)
- Add yubi2 age public key generated with age-plugin-yubikey
- Add yubi2 SSH ed25519-sk public key
- Store SSH private key encrypted with age
- Required enabling FIDO2 USB interface on YubiKey
- Add yubi1 age public key generated with age-plugin-yubikey
- Add yubi1 SSH ed25519-sk public key
- Store SSH private key encrypted with age
- Update ssh-with-age to support age-plugin-yubikey decryption
- Tool now supports Solo 2, Secure Enclave, and YubiKey devices
- Add Solo 2 age public key for FIDO2 device
- Add Solo 2 SSH ed25519-sk public key
- Store SSH private key encrypted with age for secure storage
- Update keys flake-module to handle encrypted SSH private keys safely
- Add ssh-with-age tool for auto-detecting and using encrypted SSH keys
- Tool uses only repository keys, no home directory dependencies
- Auto-detects matching FIDO2 device by trying each encrypted key
- Add flake-module.nix for centralized key management
- Update barnacle age key from Secure Enclave
- Move key definitions from flake.nix to dedicated module
- Remove yubi.pgp and yubi.ssh from root (now in subdirectories)
- Support automatic loading of keys from age/, ssh/, and pgp/ directories
- Replace pass wrapper to use passage with age backend
- Create new pass-otp tool for OTP functionality using oathtool
- Update passmenu to work with .age files in ~/.passage/store
- Maintain full compatibility with existing pass/OTP workflows
Generated with age-plugin-se using Touch ID biometry
- Extract key management logic into keys/flake-module.nix
- Organize keys into subfolders: ssh/, pgp/, age/
- Simplify extension stripping (remove everything after first dot)
- Remove inline key definitions from flake.nix
- Extract package autoimport logic into 5pkgs/flake-module.nix
- Support both package.nix (preferred) and default.nix
- Show deprecation warning when using default.nix
- Replace symlinkJoin with custom multiOutputSymlinkJoin that correctly handles multi-output packages
- Preserve man pages, docs, and other outputs by symlinking from original package outputs
- Fix zsh build while maintaining access to man pages via .man output
- All wrapper tools (mpv, mutt, zsh) now build successfully with full output preservation
- Add passthru parameter to makeWrapper for custom attributes
- Convert mutt to use passthru instead of manual attribute merging
- This simplifies the code and makes wrapper configuration cleaner
Replace writeShellApplication with makeWrapper:
- Set NOTMUCH_CONFIG environment variable directly
- Pass muttrc via -F flag
- Remove obsolete mutt.sh script
Replace writeShellApplication with makeWrapper using flagSeparator="="
to generate the --flag=value format that mpv requires
Add flagSeparator parameter to control flag format:
- " " for "--flag value" (default, backward compatible)
- "=" for "--flag=value" format
Use Claude CLI's native mcp add command instead of desktop config file.
This ensures MCP servers are properly registered and store paths stay current.
- Add preHook parameter for running commands before exec
- Update pass tool to use preHook for GPG key import instead of custom wrapper
- Add preHook to passthru for inspection
- Update documentation with preHook examples
- Add flags parameter to makeWrapper for command-line arguments
- Change wrapper parameter to always be a function receiving { exePath, flagsString, envString, env, flags }
- Remove automatic "--" prefix handling for flags (users specify full flag names)
- Improve formatting with proper line breaks and indentation for multi-line commands
- Add passthru for env and flags to make them accessible
- Update tools to use new function-based wrapper syntax:
- tmux: uses flags directly with -f for config file
- pass: uses custom wrapper function for GPG key import
- muchsync: uses custom wrapper function with host detection logic
Add tmux-mcp package for integrating tmux with Claude Code MCP.
Provides tools for listing sessions, capturing panes, and executing commands.
- Add Solo 2 age public key for FIDO2 device
- Add Solo 2 SSH ed25519-sk public key
- Store SSH private key encrypted with age for secure storage
- Update keys flake-module to handle encrypted SSH private keys safely
- Add ssh-with-age tool for auto-detecting and using encrypted SSH keys
- Tool uses only repository keys, no home directory dependencies
- Auto-detects matching FIDO2 device by trying each encrypted key
- Replace symlinkJoin with custom multiOutputSymlinkJoin that correctly handles multi-output packages
- Preserve man pages, docs, and other outputs by symlinking from original package outputs
- Fix zsh build while maintaining access to man pages via .man output
- All wrapper tools (mpv, mutt, zsh) now build successfully with full output preservation
- Add flags parameter to makeWrapper for command-line arguments
- Change wrapper parameter to always be a function receiving { exePath, flagsString, envString, env, flags }
- Remove automatic "--" prefix handling for flags (users specify full flag names)
- Improve formatting with proper line breaks and indentation for multi-line commands
- Add passthru for env and flags to make them accessible
- Update tools to use new function-based wrapper syntax:
- tmux: uses flags directly with -f for config file
- pass: uses custom wrapper function for GPG key import
- muchsync: uses custom wrapper function with host detection logic