nix-topology 是一个用于从 NixOS 配置中自动生成基础设施和网络示意图的工具。这些图表会以 SVG 格式呈现,帮助用户直观地查看网络结构,不再需要手工绘制。这一工具通过一个全新的全局模块系统让用户可以指定他们所拥有的节点和网络,大部分的工作都是通过一个内置的 NixOS 模块自动完成的,它会从主机中收集各种信息。
安装非常简单,只需在 flake.nix 中添加 nix-topology,定义全局模块,并将其加入到 NixOS 模块中。使用起来也很方便,具体步骤如下:
nix-topology.nixosModules.default
。nix build .#topology.x86_64-linux.config.output
渲染你的拓扑,最终目录会包含生成的 SVG 图表。初次渲染后的图表可能看起来有些凌乱,这是因为缺少某些物理连接等关键内容。用户可以在全局拓扑模块或任何参与的 NixOS 节点中添加这些信息,过程十分简单:
{ # 连接 node1.lan 至 node2.wan nodes.node1.interfaces.lan.physicalConnections = [{ node = "node2"; interface = "wan"; }]; # 增加家庭网络 networks.home = { name = "Home Network"; cidrv4 = "192.168.1.1/24"; }; # 指明 myhost.lan1 属于该网络 nodes.myhost.interfaces.lan1.network = "home"; }
或者在本地配置中添加:
{ topology.networks.home = { name = "Network Made by Host1"; cidrv4 = "192.168.178.1/24"; }; topology.self.interfaces.lan1.network = "home"; }
nix-topology 仍有诸多可以改进之处:
欢迎大家为 nix-topology 作出贡献!可以提出新功能、实施提取器或其他帮助。如果有兴趣,更多信息可以在项目的 CONTRIBUTING.md 和文档的开发章节中找到。
该项目获得 MIT 许可,保证了开源的自由使用与贡献。除非特别声明,所有提交的贡献都是按照该许可进行授权的。
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。