mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
Use the CanoKey for daily authentication on idols-ai and shoukei, with the existing passwords, passphrases and per-host SSH keys as fallback. - sudo: pam_u2f with a shared origin (pam://ryan4yin) and a Nix-store authfile built from myvars.canokeyU2fKeys; the primary key is registered and touch-to-sudo works on idols-ai. - SSH: one resident ed25519-sk key (application=ssh:ryan4yin) exported to ~/.ssh/id_ed25519_sk; GitHub tries it before the per-host key. - shoukei LUKS: fido2-device=auto with token-timeout=10s. Update nixos-apple-silicon (linux-asahi 7.2.14), whose initrd adds thunderbolt_apple and reset_apple_cio so USB-C comes up before unlock. - GPG: scdaemon disable-ccid so it uses pcscd. - docs/security-keys.md: setup, PINs, enrollment, backup key and recovery; deduplicate the FIDO notes left by #515. Assisted-by: Claude Code (claude-opus-5-5)
Home Manager's Base Submodules
This directory contains cross-platform base configurations that are shared between Linux and Darwin systems.
Configuration Structure
Core System
- core/: Essential cross-platform configurations
- core.nix: Minimal home-manager configuration
- shells/: Shell configurations (bash, Nushell; zsh is Darwin-only under
home/darwin/) - editors/: Helix + Neovim (Home Manager) and usage docs (
README.mdper editor) - btop.nix: System monitoring tools
- git.nix: Git configuration and aliases
- npm.nix: Node.js package management
- pip.nix: Python package management
- privacy.nix: Cross-app telemetry opt-out (
DO_NOT_TRACK) - starship.nix: Cross-shell prompt configuration
- theme.nix: Color schemes and theming
- xdg.nix: XDG base-directory configuration
- yazi.nix: Terminal file manager configuration
Desktop Environment
- gui/: Cross-platform GUI applications and configurations
- dev-tools.nix: Misc development and network tools (mitmproxy, wireshark)
- media.nix: Media players and utilities
- zed-editor.nix: Zed editor configuration (primary GUI editor)
- rime/: Rime (flypy) customisation shared by fcitx5-rime (Linux) and Squirrel (macOS)
- terminal/: Terminal emulator configurations
- ghostty.nix: Ghostty terminal (default)
- kitty.nix: Kitty terminal
- work-gitconfig.nix: Work git identity for repositories under
~/work, linked from agenix
Terminal Interface
- tui/: Terminal-based interface configurations
- agents/: AI coding agents — global rules and skills deployment, CLIs, and telemetry/auto-update opt-outs
- cloud/: Cloud development tools (Terraform, etc.)
- container.nix: Container tools (Docker, Podman)
- dev-tools.nix: Terminal-based development tools
- editors/: Extra terminal editor Nix (see
core/editors/for docs and baseline enables) - encryption/: Encryption and security tools
- gpg/: GPG key management
- password-store/: Password management with pass
- shell/: Shell environment configurations
- ssh.nix: SSH configuration and management
- tuios/: Terminal window manager / multiplexer (config + nushell auto-start)
System Management
- home.nix: Main home manager configuration file
Platform Compatibility
All configurations in this directory are designed to work across:
- Linux: All distributions with Nix and Home Manager
- macOS: Darwin systems with Home Manager
Usage
These base configurations provide the foundation for both Linux and Darwin systems while allowing for platform-specific customizations.