$npx -y skills add timfewi/tentaflake --skill tentaflake-repo-guidanceComprehensive reference for the tentaflake repository — all modules, options, lib functions, build targets, agent config, ISOs, and architecture. Use when working with the template itself, adding features, configuring hosts, or debugging the build.
| 1 | # Tentaflake — Repo Guidance |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Tentaflake is a **generic NixOS flake template** for running isolated AI agent containers — Hermes, ZeroClaw and OpenCode — on a single headless machine. It is NOT domain-specific — no company config, real hostnames, API keys, or secrets belong here. Domain-specific work goes in forks. |
| 6 | |
| 7 | ## Repo Layout |
| 8 | |
| 9 | ``` |
| 10 | tentaflake/ |
| 11 | ├── flake.nix # Flake entry: 3 nixosConfigurations, exports |
| 12 | ├── flake.lock |
| 13 | ├── configuration.nix # Shared config: OCI backend, docker, admin groups |
| 14 | ├── hardware-configuration.nix # Minimal fallback HW config |
| 15 | ├── my-agents.nix.example # Agent definitions (Hermes + ZeroClaw) reference |
| 16 | ├── hermes.env.example # Hermes agent env file reference |
| 17 | ├── zeroclaw.env.example # ZeroClaw agent env file reference |
| 18 | ├── AGENTS.md # Agent instructions for this repo |
| 19 | │ |
| 20 | ├── modules/ # Reusable NixOS modules (tentaflake.*) |
| 21 | │ ├── default.nix # Module import hub |
| 22 | │ ├── options.nix # ★ Most tentaflake.* options (core + shell + toggles) |
| 23 | │ ├── boot.nix # systemd-boot EFI bootloader |
| 24 | │ ├── hardening.nix # Kernel sysctl, sudo rules, AppArmor, journald |
| 25 | │ ├── locale.nix # Timezone, locale, console keymap |
| 26 | │ ├── networking.nix # Hostname, NetworkManager, nftables firewall |
| 27 | │ ├── nix-settings.nix # Nix daemon: flakes, GC, optimisation, trusted users, hardening |
| 28 | │ ├── packages.nix # System packages (curl, git) |
| 29 | │ ├── users.nix # Admin user creation (wheel + networkmanager groups) |
| 30 | │ ├── tailscale.nix # Tailscale VPN with extraUpFlags |
| 31 | │ ├── ssh.nix # Opt-in hardened OpenSSH + fail2ban (tentaflake.ssh.enable) |
| 32 | │ ├── hive-research.nix # Opt-in web-research MCP server (package comes from a flake input) |
| 33 | │ ├── shell.nix # ★ Interactive shell: tentaflake CLI, banner, zsh, tools |
| 34 | │ ├── tentaflake-auditd.nix # ★ Filesystem audit daemon + tentaflake-top TUI (watches all runtimes) |
| 35 | │ ├── piper-tts-server.nix # ★ Piper TTS HTTP server (OpenAI-compatible) |
| 36 | │ └── editor.nix # Neovim (nvf) module (separate import) |
| 37 | │ |
| 38 | ├── lib/ |
| 39 | │ ├── default.nix # Exports: mkHermesAgent, mkZeroClawAgent, mkOpenCodeAgent, agentsFromData, constants |
| 40 | │ ├── constants.nix # Template-wide defaults (hostName, adminUser, stateVersion, pinned images...) |
| 41 | │ ├── mkHermesAgent.nix # ★ Builds one isolated Hermes agent as a NixOS module |
| 42 | │ ├── mkZeroClawAgent.nix # ★ Builds one isolated ZeroClaw agent as a NixOS module |
| 43 | │ ├── mkOpenCodeAgent.nix # ★ Builds one isolated OpenCode agent (opencode serve) as a NixOS module |
| 44 | │ ├── agentsFromData.nix # Builds agents from the CLI wizard's agents.json |
| 45 | │ ├── pinnedImage.nix # Enforces digest-pinned + shell-safe image refs |
| 46 | │ └── pinnedImage-test.nix # Backs checks.<system>.image-pinning |
| 47 | │ |
| 48 | ├── pkgs/ |
| 49 | │ ├── tentaflake-auditd/ # Go daemon: filesystem watcher + SQLite (no socket) |
| 50 | │ │ ├── cmd/tentaflake-auditd/ # Daemon binary |
| 51 | │ │ ├── cmd/tentaflake-console/ # Agent Console HTTP server |
| 52 | │ │ ├── cmd/tentaflake-top/ # TUI dashboard |
| 53 | │ │ └── internal/ # config, watcher, store, event types, web |
| 54 | │ └── piper-voices/ # Bundled Piper voice ONNX models |
| 55 | │ |
| 56 | ├── installer/ |
| 57 | │ ├── iso.nix # Installer ISO config (TUI wizard → full install) |
| 58 | │ ├── live-iso.nix # Live Agent ISO config (RAM, no disk touch) |
| 59 | │ ├── live-profile.nix # Live ISO profile: agents, Piper, Tailscale, SSH |
| 60 | │ ├── live-agents.nix # Pre-configured agents for live ISO (default + research) |
| 61 | │ ├── firstboot.nix # USB env detection, data persistence, TTY1 wizard |
| 62 | │ ├── installer.sh # ★ Interactive TUI installer (partitions, installs, reboots) |
| 63 | │ └── firstboot.sh # Live ISO first-boot wizard (env file entry) |
| 64 | │ |
| 65 | ├── examples/ |
| 66 | │ └── consumer-flake.nix # ★ RECOMMENDED: consumer pattern using tentaflake as input |
| 67 | │ |
| 68 | ├── docs/ # User-facing documentation |
| 69 | │ ├── 00-install.md # ISO build + install instructions |
| 70 | │ ├── 01-quickstart.md # Post-boot 10-minute checklist |
| 71 | │ ├── 02-agent-tips.md # Agent operation tips |
| 72 | │ ├── 03-skill-index.md # Bundled Hermes skills index |
| 73 | │ ├── 04-agenix-secrets.md # Agenix secrets guide |
| 74 | │ ├── 05-fork-checklist.md # What to change when forking |
| 75 | │ ├── 06-shell.md # Shell/operator expe |