patrickhaahr/nixos-config

GitHub: patrickhaahr/nixos-config

一套采用树突状架构与面向切面模块设计的 NixOS flake 配置,集成了 AI agent 编排和休眠式安全工具切面。

Stars: 1 | Forks: 0

# nixos-config 一个基于**树突状模式**构建的个人 NixOS flake:精简的 host 入口,丰富的面向切面的 module。一台机器,一个用户,无限重组。 主要的 host 被命名为 **nika**——以太阳神 Nika 命名,他是《海贼王》中带来解放与欢乐的神。 ## 树突状结构 这种配置摒弃了容易腐化的单体式 host 文件,而是像晶体一样生长。系统行为被拆分为多个**切面**——即系统(桌面、shell、身份、黑客工具)中自包含的侧面,而 host 仅仅是这些切面的精简组合。 - **Host 组合**极其精简:选择你的硬件,选择你的切面,即可完成。 - **用户身份**是一个切面。**窗口管理器**是一个切面。**安全工具**也是一个切面。 - `modules/` 下的所有内容都会通过 `flake-parts` + `import-tree` 自动注册。 如果某个切面不存在,你就去培育一个新的。永远不要将功能生硬地塞进 host 文件中。 ## 机器:`nika` 主力系统。哥本哈根时区,丹麦语键盘布局,AMD 芯片,加密的 root,以及通过 Lanzaboote 锁定的 Secure Boot。 **她所运行的:** - **Niri** —— 一个可滚动的 Wayland 合成器,经过了封装并绑定了自定义逻辑。 - **Noctalia** —— 平滑覆盖在 Niri 之上的环境 shell / 桌面 UI 层。 - **Ghostty** —— 终端。 - **Helium** —— 浏览器。 - **Handy** —— 始终触手可及。 - **Signal**、**Spotify**(搭配 Spicetify)、**Steam**、**Sunshine** —— 通信、音频与游戏。 - **OpenHome** —— 连接物理世界的 IR 网桥;开机时启动 Bluetooth,关机时启动 Optical。 - **OpenLinkHub** —— 本地硬件状态 daemon。 - **Tailscale** —— 私有 mesh 网络。 `tester` 作为备用/测试 host 存在,但 `nika` 才是唯一的真实基准。 ## Shell:Noctalia + Nushell 登录 shell 是 **Nushell**,装备了 Starship、zoxide 和 carapace。它不是 Bash,也不是 Zsh。它自顶向下全是结构化数据。 Noctalia 封装了桌面体验——壁纸缓存、GTK 暗黑模式默认设置,以及让 Niri 显得栩栩如生的视觉逻辑。 ## Agents 该系统由 AI agents 辅助操控。此配置已将 **OpenCode** 完全配置妥当: - **AGENTS.md** —— 关于 agent 行为和树突状规则的本地真实基准。 - **Skills** —— 本地自定义技能,外加一个 **skill-sources** pipeline,用于从社区导入并保持流行技能的更新。 - *外部提供者:* `grill-me`、`improve-codebase-architecture`、`tdd`、`agent-browser`、`frontend-design` 等等。 - *本地技能:* 针对 **C#**、**Rust** 和 **TypeScript** 的代码规范。 - **Agents** —— 用于专门任务的 sub-agent 定义,包括 **reviewer** 和 **simplifier**。 - **Plugins & Commands** —— agents 可以调用的扩展工具链。 Agents 在运作时对树突状布局有着充分的上下文认知。它们深知:*编辑切面,而不是 host*。 ## 黑客工具库 这些工具在 repo 中以休眠切面的形式存在——准备在需要红队行动时随时嫁接到任何 host 上: - **侦察:** `nmap`、`ffuf`、`feroxbuster` - **Web:** `burpsuite` - **破解:** `hashcat`、`hydra`、`john` - **取证:** `binwalk`、`exiftool` - **网络:** `wireshark`、`wireguard-tools` - **字典:** `rockyou`,以及映射到 `~/hacking` 的指南和文档。 目前在 `nika` 上处于禁用状态,但只需取消注释即可启用。 ## 值得注意的工具 | 类别 | 技术栈 | |---|---| | **编辑器** | Neovim | | **终端** | Ghostty | | **Shell** | Nushell + Starship | | **导航** | yazi, fzf, zoxide | | **环境** | direnv + nix-direnv | ## 构建 ``` # 评估 flake nix flake check # 试运行 primary system nix build .#nixosConfigurations.nika.config.system.build.toplevel --dry-run ``` *伴随 ❄️ 与偏执构建。*
标签:Dotfiles, Linux配置, NixOS, Wayland, 系统运维, 面向切面编程