Posts tagged with 'nix'
sub-store + mihomo 本地优先架构决策
TLDR 决定上 sub-store,但只用于 wild 节点;self 节点继续走 file provider,不进 sub-store。 mihomo client 拆 proxies 为 self (file) + wild (http) 两个 provider,proxy-groups 重构为 Manual / Self / Wild / Auto 四组语义。 admin path 用 sops ME_SK(== DEFAULT_SK,与 axonhub 同源)注入,wildUrl ... read more →
Auto Import Using import-tree Failure Review
TLDR TLDR 这次尝试的目标,是把仓库里现有的 scanPaths 迁移到 vic/import-tree,并进一步减少中间层 default.nix。 最后选择回滚,不是因为 import-tree 不兼容 flake-parts,而是因为这次尝试在“想要的目标”和“实际采用的迁移方式”之间发生了偏差: 目标是:让 import-tree 直接接管 module discovery,并减少手写维护。 实际上中途走成了:先把 scanPaths 改写成一层新的 helper,再进一步把 ... read more →
Remove nh And Clarify Darwin GC Owner
TLDR TLDR 这次处理的目标很小,核心是把 nh 从当前工作流里下线,并把 Darwin 侧的 GC 责任边界说清楚。 问题核心还是出自于 darwin 上(用nh配置)的GC一直没生效 之所以用nh,就是之前希望可以把 darwin和nixos的相关操作,都收束到 nh,但是现在看来没什么必要。NixOS上最好用的方案,肯定是 nixos-cli 了。而 darwin上,我使用的 Determinate-Nix 本身也提供了全套的更适用于 darwin 的方案。所以最终决定移除掉 nh ... read more →
flake-parts 迁移提纲
为啥决定用 flake-parts 替代 haumea? 为什么决定迁移? 这部分要说明两个问题: 我原来为什么选 haumea 到了什么阶段发现它开始不合适 我一开始选 haumea,核心原因很简单:它的 auto import 很适合当时这套基于目录组织的输出结构。 当时我需要的是: 按目录聚合 outputs/<system>/src/*.nix 减少手写 import 列表 让 role 输出结构快速跑起来 在仓库规模还小时,这套方式是顺手的。 但随着仓库演进,问题开 ... read more →
初探 comin
TLDR 本文为GPT生成,这里写点自己的想法,以及本文的总结: 目前deploy存在两难,我讨厌 deploy-rs/colmena 这套 push-mode,总要等待,并且难以保证所有配置项可以实时同步。 具体来说,这里存在两难: 1、多端部署问题。也就是必须要手动执行命令来部署指定host 2、push-mode 需要保证控制端不掉(尤其在控制端通常是workstation的情况下,不知道多少个凌晨,在改完配置后,都要等着deploy完成,验证确实可用之后,才放心commit代码,非常 ... read more →
NixOS Facter Hardware Guide
TLDR TLDR 已将 nix-community/nixos-facter 接入本仓库,主要用于自动采集并收敛硬件事实(CPU、磁盘、总线、显卡、内核模块等),从而大幅精简 hardware.nix 中原有的底层样板代码。 引入这个flake,利大于弊。 收益主要在于: 1、可以精简大量代码 把 boot.initrd.availableKernelModules、kernelModules、hardware.cpu.*.updateMicrocode 等硬件事实型配置交给 fact ... read more →
sing-box 在 mac 唤醒后断网问题的后续复盘
TLDR 这是上一篇 《sing-box 在 macOS 唤醒后长时间断网问题的诊断和fix》 的后续。 这次最后确认下来,主因还是 sing-box 的配置,不是 wake recover script。 做了以下修改项 - `default_domain_resolver = "local"` - `remote` 改回 `223.5.5.5 + detour=select` - 去掉显式 `tun-in -> select` - 关闭 `reverse_map ... read more →
声明式管理skills
对skills拆分管理 [2026-03-10] 这几天把 skills 的声明式管理跑通了,目标始终没变:希望能用 declarative 方式稳定管理常用 skills,同时保留临时技能的低成本使用体验。 一开始尝试过直接用 Taskfile 手搓流程,核心机制是对比本地 .skill-lock.json 和 YAML 清单,算出待安装列表再执行安装。这个方案能跑,但有两个明显问题: 本地自维护 skills 的 workflow 太重(改 skills -> push -> ... read more →
colmena-vs-deploy-rs-source-review
TLDR 本文是 deploy-rs-migration 的后续 在使用了一段时间deploy-rs之后,结合使用体验以及发现的一些问题。所以写这篇blog来做个总结,顺便解惑。 本文的基本逻辑是: 从源码层面,去解答以下问题: 为啥 colmena 支持并发 deploy,而deploy-rs 只支持顺序deploy? deploy-rs为啥deploy很慢? deploy-rs是怎么实现 magic- rollback 的? 这三个问题的谜底是一码事吗?还是说并不同?以及是否还有其他 ... read more →
colmena
当前实现概览 入口:outputs/default.nix 暴露 colmena,meta 默认用 x86_64-linux 的 nixpkgs 与 genSpecialArgs。 角色文件:outputs/x86_64-linux/src/*.nix 只写元数据(模块列表、目标主机列表、标签、特参函数)。 抽象封装:lib/mkColmenaRole.nix 统一将一个角色的 targets 扇出为多节点,生成两类输出: nixosConfigurations.<node> c ... read more →