mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
* feat(nixpak): sandbox Steam and Heroic in ~/Gaming idols-ai stops preserving ~/.local/share/Steam, ~/.steam, ~/.config/heroic and their game data, which must be moved into ~/Gaming before deploying. Assisted-by: DeepSeek Harness (deepseek-flash) * refactor(nixpak): replace steam-fix.nu with sandboxed protontricks Assisted-by: DeepSeek Harness (claude-opus-5-5) * fix(nixpak): hide host documents and GTK config from game sandboxes Assisted-by: DeepSeek Harness (claude-opus-5-5) * docs(ai): locate the Steam library under ~/Gaming Assisted-by: DeepSeek Harness (claude-opus-5-5) * fix(umu-game): confine writes to ~/Gaming and keep foreign entries Assisted-by: DeepSeek Harness (claude-opus-5-5) * fix(nixpak): keep Steam and Heroic in the application launcher The wrappers only carried bin/, so neither launcher had a desktop entry after replacing programs.steam. Assisted-by: DeepSeek Harness (deepseek-flash) * fix(nixpak): give the game sandboxes a fontconfig that sees CJK fonts Steam rendered Chinese as tofu: the FHS layers build their own /etc/fonts, whose config lists only DejaVu and the XDG font directory, so neither the host fonts nor the FHS /usr/share/fonts were ever scanned. Point FONTCONFIG_FILE at a small config that includes /usr/share/fonts, and ship WenQuanYi Zen Hei and Noto Sans CJK in all three FHS layers. Assisted-by: DeepSeek Harness (deepseek-flash) * fix(nixpak): grant the game launchers a StatusNotifier tray icon Steam and Heroic register a tray icon over D-Bus, and the game sandboxes granted no StatusNotifierWatcher access, so the desktop shell had nothing to show for them. Enable desktopIntegration.tray for all three launchers and teach the policy suites to expect it. Assisted-by: DeepSeek Harness (deepseek-flash) * fix(nixpak): drop the duplicate host CJK font and tidy the font overrides Steam reads the fonts inside its own FHS layer, so the system-wide wqy_zenhei added for it no longer serves any sandbox. Give gaming-policy its own comment for FONTCONFIG_FILE instead of leaving it under the compat-tool one, make the desktop-base value a default, and note the SNI tray grant in the README table. Assisted-by: DeepSeek Harness (deepseek-flash)
Documentation
Canonical index for this repository. Standalone reference material lives in this directory. Component runbooks stay next to the code they describe so they remain visible during maintenance; every human-facing document is linked here.
README.md and AGENTS.md remain at the repository root because GitHub and coding agents require
those entry points.
Repository
- Repository overview — systems, components, deployment and validation quick start.
- Agent guide — repository conventions, command hazards and validation rules.
- NixOS modernization options — design options and decisions.
Operations and policy
- Security — threat model, trust boundaries, implemented controls and audits.
- Backups — backup layers, password model, retention and restore procedure.
- Hardware security keys — CanoKey/YubiKey setup, backup keys and recovery.
- Workarounds and known gaps — pins, temporary workarounds and removal conditions.
- BIOS settings — firmware settings for the physical hosts.
- Wake-on-LAN — firmware prerequisites, NixOS setup and wake commands.
- Runtime hardening validation.
Hosts and services
- Host inventory and deployment notes.
- AI desktop: host runbook and VR notes.
- Akane: host runbook.
- Aquamarine: host runbook, iGPU notes and ROCm notes.
- Kana: host runbook.
- Ruby: host runbook.
- Shoukei: host runbook.
- Youko homelab: services overview, Immich, monitoring, alert rules, recording rules and Grafana dashboards.
- Kubernetes cluster: k8s host notes and disko configuration.
- Infrastructure: infra overview, RustFS, Loki storage and Terraform S3 backend.
- NixOS installation: installer guide and Shoukei notes.
- Certificates: certificate setup.
Configuration structure
- NixOS and nix-darwin modules, including Darwin modules, Mihomo networking and Sunshine.
- Home Manager modules.
- Flake outputs and tests.
- Secrets management.
- Overlays, shared library helpers and shared variables.
- Hardening wrappers and policy.
Desktop and Home Manager details
- Darwin, per-host Home Manager profiles and Linux.
- Linux desktop stack: base GUI, Fcitx5, hypridle, vinput and i3.
- Base Home Manager profile: editors, editor glossary, Helix, Neovim, Rime and terminal.
- Terminal tools: agents and dsh notes, editors, encryption, GPG and password store.