<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nix 与 NixOS 专题：声明式系统管理的函数式革命 on PlumePHP</title><link>https://plumephp.com/posts/nix/</link><description>Recent content in Nix 与 NixOS 专题：声明式系统管理的函数式革命 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 07 Oct 2026 20:22:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/posts/nix/index.xml" rel="self" type="application/rss+xml"/><item><title>Nix 语言服务器与编辑器工具链：补全、格式化与静态检查</title><link>https://plumephp.com/nix-language-server-tooling/</link><pubDate>Wed, 07 Oct 2026 20:22:00 +0800</pubDate><guid>https://plumephp.com/nix-language-server-tooling/</guid><description>Nix 是动态类型、惰性求值的语言，写错一个属性名往往要等到求值才报错。语言服务器把补全、跳转、诊断搬进编辑器，格式化器统一风格，statix 与 deadnix 提前拦下反模式与死代码。本文对比 nil 与 nixd 的取舍、给出各编辑器的接入配置、讲清 nixd 的选项补全原理，并用 treefmt 与 pre-commit 把检查固化到 CI。</description></item><item><title>Store 垃圾回收与存储优化：gc root、去重与瘦身</title><link>https://plumephp.com/nix-store-gc-optimization/</link><pubDate>Wed, 07 Oct 2026 20:21:00 +0800</pubDate><guid>https://plumephp.com/nix-store-gc-optimization/</guid><description>内容寻址意味着 store 从不覆盖旧路径，一次重建就多出一份闭包，磁盘很快被历代产物吃满。回收的唯一依据是 gc root，而不是「看起来没人用」。本文讲清 gc root 的六种来源、手动与自动回收参数、硬链接去重的原理与代价、占用分析方法、结构性瘦身手段，以及误删与存储损坏后的恢复路径。</description></item><item><title>构建沙箱与可复现性：Nix 如何隔离构建过程</title><link>https://plumephp.com/nix-build-sandbox-purity/</link><pubDate>Wed, 07 Oct 2026 20:20:00 +0800</pubDate><guid>https://plumephp.com/nix-build-sandbox-purity/</guid><description>Nix 的构建沙箱不是可选装饰，而是「输入确定」得以成立的前提：它给构建脚本一个干净的挂载视图、清空的环境变量、独立的构建用户与默认断开的网络。本文拆开沙箱的三种模式与内部结构，讲清环境变量如何被清洗、网络隔离与固定输出例外、如何检测构建是否纯净，以及容器与 CI 里沙箱失效的原因与修法。</description></item><item><title>nixos-anywhere 远程部署：把裸机变成 NixOS</title><link>https://plumephp.com/nixos-anywhere-remote-install/</link><pubDate>Wed, 07 Oct 2026 20:19:00 +0800</pubDate><guid>https://plumephp.com/nixos-anywhere-remote-install/</guid><description>云主机与托管裸机通常只给一个 root SSH，没有控制台、没有 ISO 挂载权限。nixos-anywhere 用 kexec 把目标机直接引导进 NixOS 安装环境，在内存中执行 disko 分区与 nixos-install，一次命令完成从空盘到可复现系统。本文讲清三段式原理、关键参数、密钥注入、批量流程、CI 自动化与常见失败排查。</description></item><item><title>disko 声明式磁盘分区：把分区表写成 Nix 表达式</title><link>https://plumephp.com/nix-disko-declarative-partitioning/</link><pubDate>Wed, 07 Oct 2026 20:18:00 +0800</pubDate><guid>https://plumephp.com/nix-disko-declarative-partitioning/</guid><description>分区、文件系统与挂载点通常只活在安装那一刻的几条命令里，换台机器就得凭记忆重来。disko 把 GPT 分区表、LUKS 加密、LVM、Btrfs 子卷与 ZFS 池写成一份 Nix 表达式，由它生成分区动作与 fileSystems 配置，安装、重建与虚拟机测试共用同一份定义。本文给出完整配置、执行模式、密钥注入与常见坑。</description></item><item><title>lazy-trees 与大规模仓库求值：只取所需的文件树</title><link>https://plumephp.com/nix-lazy-trees-eval/</link><pubDate>Wed, 07 Oct 2026 20:17:00 +0800</pubDate><guid>https://plumephp.com/nix-lazy-trees-eval/</guid><description>在 nixpkgs 这类四万文件级仓库上，每次改一行都要先下载整棵源码树，求值因此被网络与解包拖垮。惰性树（lazy-trees）把「取整棵树」改成「用到哪个文件才取哪个」，同时保持 narHash 与旧行为一致。本文讲清其机制、开启方式、与 flake 输入的交互、eval-cache 复用，以及大规模仓库的提速实践与常见坑。</description></item><item><title>nixpkgs 贡献与维护：从 by-name 到 backport</title><link>https://plumephp.com/nixpkgs-contribution-maintenance/</link><pubDate>Mon, 05 Oct 2026 15:00:00 +0800</pubDate><guid>https://plumephp.com/nixpkgs-contribution-maintenance/</guid><description>nixpkgs 贡献与维护实战：仓库结构与 pkgs/by-name 自动调用约定、打包一个新包从零到 PR 的完整流程、提交规范与 commit message 格式、review 流程与维护者职责、ofBorg CI 与测试、staging 分支与 backport 机制、包版本更新与长期维护、常见拒绝原因与最佳实践清单。</description></item><item><title>Nix 中的 CUDA 与机器学习环境：cudaPackages 与 PyTorch</title><link>https://plumephp.com/nix-cuda-ml-environments/</link><pubDate>Mon, 05 Oct 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/nix-cuda-ml-environments/</guid><description>Nix 中的 CUDA 与机器学习环境实战：GPU 环境为什么难（驱动/运行时/库三方版本约束）、nixpkgs 的 cudaPackages 布局、驱动与 cudatoolkit 的版本匹配、GPU 开发 shell 搭建、PyTorch 打包与 Python 生态、版本匹配矩阵与常见错配、容器镜像部署、cudaCapabilities 编译加速与多 GPU、常见坑与排错清单。</description></item><item><title>nix-darwin：macOS 的声明式系统配置</title><link>https://plumephp.com/nix-darwin-macos/</link><pubDate>Mon, 05 Oct 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/nix-darwin-macos/</guid><description>nix-darwin 实战：macOS 上的声明式系统配置——安装与 flake 集成、darwin 模块与系统配置、Homebrew 集成（casks/brews/taps）、defaults 系统偏好即代码、launchd 服务与定时任务、与 Home Manager 协同管理 dotfiles、用户与字体与 shell 配置、常见坑与升级流程、与 NixOS 的差异对比。</description></item><item><title>Nix 远程构建与分布式构建：builders 协议、ssh-ng 与跨架构</title><link>https://plumephp.com/nix-remote-builders/</link><pubDate>Mon, 05 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nix-remote-builders/</guid><description>Nix 远程构建实战：为什么要分布式构建、builder 协议与 ssh-ng 原理、/etc/nix/machines 与 buildMachines 配置、distributedBuilds 与调度策略、max-jobs/cores/system-features 的作用、x86 上编 aarch64 的跨架构构建、信任模型与签名、故障排查与性能调优、CI 中的远程构建编排。</description></item><item><title>Nix Overlays 与包集定制：final/prev、叠加顺序与 override 体系</title><link>https://plumephp.com/nix-overlays-customization/</link><pubDate>Mon, 05 Oct 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/nix-overlays-customization/</guid><description>Nix Overlays 与包集定制实战：overlay 的本质与 final/prev 签名、惰性互引与叠加顺序、import nixpkgs 注入 overlays 的几种姿势、override/overrideAttrs/overrideScope 三件套的取舍、替换整个包集与 pkgsStatic/pkgsCross、多 overlay 的组织与复用、与 flake 的结合、常见坑（无限递归/不级联/丢属性）与排错。</description></item><item><title>Nix Flake 输入管理与锁定：inputs、flake.lock 与私有源</title><link>https://plumephp.com/nix-flake-inputs-locking/</link><pubDate>Mon, 05 Oct 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-flake-inputs-locking/</guid><description>Nix Flake 输入管理实战：inputs 声明与六种 input 类型（path/git/github/tarball/url/indirect）、flake.lock 结构逐字段解析、nix flake update 与选择性更新、follows 去重与依赖统一、私有 input 与认证（token/ssh/netrc）、--override-input 本地开发、锁文件治理与团队协作、常见坑与排错清单。</description></item><item><title>flake-parts 与大型仓库组织：模块化 flake 的工程实践</title><link>https://plumephp.com/nix-flake-parts-large-repos/</link><pubDate>Thu, 01 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nix-flake-parts-large-repos/</guid><description>当 flake 从个人小项目长成多包 monorepo，手写 forAllSystems 的模板代码会迅速失控。flake-parts 把 NixOS 模块系统的合并语义引入 flake 组织，让每个子项目只声明自己关心的输出。本文详解 perSystem、模块复用、inputs 分层与 monorepo 布局。</description></item><item><title>Nix 二进制缓存与替换器：substituters、签名与自建缓存</title><link>https://plumephp.com/nix-binary-cache-substituters/</link><pubDate>Thu, 01 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nix-binary-cache-substituters/</guid><description>二进制缓存是 Nix 能在生产环境立足的关键：它让「构建」变成「下载」。本文详解 substituters 查询顺序、narinfo 与 nar 格式、trusted-public-keys 信任模型、nix-serve 与 harmonia 自建缓存、S3 后端与 CDN 部署，以及签名与推送的完整流程。</description></item><item><title>Nix 求值与构建性能优化：从 eval 剖析到远程构建</title><link>https://plumephp.com/nix-eval-build-performance/</link><pubDate>Thu, 01 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nix-eval-build-performance/</guid><description>Nix 的时间花在两个阶段：求值（eval）与构建（build）。前者常被忽视却是「改一行等一分钟」的元凶，后者则受调度与缓存策略支配。本文详解 eval 剖析与缓存、惰性求值反模式、并行构建与 remote builders、store 优化与 GC 策略。</description></item><item><title>Nix 派生与 Store 内幕：derivation、输入寻址与引用图</title><link>https://plumephp.com/nix-derivations-store-internals/</link><pubDate>Thu, 01 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nix-derivations-store-internals/</guid><description>derivation 是 Nix 构建的最小描述单元，store 路径则是它在文件系统中的唯一身份。本文深入 .drv 文件结构、store 路径哈希算法、输入寻址与内容寻址的差异、引用图与运行时闭包、gc root 机制，以及 store 的手动操作技巧。</description></item><item><title>Nix 语言生态打包：Python、Node 与 Rust 的依赖治理</title><link>https://plumephp.com/nix-language-ecosystems-packaging/</link><pubDate>Thu, 01 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nix-language-ecosystems-packaging/</guid><description>把 Python、Node、Rust 项目打进 Nix 的难点不在编译，而在依赖锁定与原生库链接。本文详解 poetry2nix 与 uv2nix、node2nix 与 pnpm、naersk 与 crane 的打包机制、固定输出派生的哈希坑、devShell 与构建分离，以及选型建议。</description></item><item><title>NixOS 代际管理与回滚：从 generation 机制到引导项治理</title><link>https://plumephp.com/nixos-generations-rollback/</link><pubDate>Thu, 01 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-generations-rollback/</guid><description>NixOS 最令人安心的一点是「升级永远不会把你锁死」——每次 nixos-rebuild 都生成一个新的 generation，旧的完整保留。本文深入 profiles 布局、世代切换与回滚、systemd-boot 与 GRUB 引导项管理、特殊化配置，以及回滚演练与自动化。</description></item><item><title>Nix 源码获取与 fetchers：fetchFromGitHub、哈希与私有源</title><link>https://plumephp.com/nix-fetchers-sources/</link><pubDate>Wed, 30 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/nix-fetchers-sources/</guid><description>Nix 源码获取与 fetchers 实战：fetcher 的作用与固定哈希、fetchurl/fetchFromGitHub/fetchFromGitLab/fetchgit 选择、hash 格式与 SRI、私有仓库与凭据、补丁获取 fetchpatch、flake inputs 的 url 获取、版本与分支策略、常见坑与调试。</description></item><item><title>Nix 构建调试与错误排查：常见错误、trace 与诊断手段</title><link>https://plumephp.com/nix-debugging-error-handling/</link><pubDate>Wed, 30 Sep 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/nix-debugging-error-handling/</guid><description>Nix 构建调试与错误排查实战：常见错误分类（哈希不匹配/依赖缺失/语法错误/替换失败）、nix build 调试技巧（--verbose/-L/--show-trace）、builtins.trace 与调试输出、错误定位的思维（缩小到子依赖）、nix-instantiate/nix eval 诊断、store 诊断与 GC 修复、网络与缓存问题、生产排障清单。</description></item><item><title>NixOS 虚拟机与集成测试：nixosTest 框架与系统级验证</title><link>https://plumephp.com/nixos-vm-integration-testing/</link><pubDate>Wed, 30 Sep 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-vm-integration-testing/</guid><description>NixOS 虚拟机与集成测试实战：为什么需要系统级测试、nixosTest 框架、test driver 与机器声明、VM 测试的断言（成功条件/服务状态/端口）、runInLinuxVM 单包测试、模块测试与参数化、CI 里跑 NixOS 测试、常见坑与调试。</description></item><item><title>可复现与封闭构建：固定哈希、网络隔离与确定性</title><link>https://plumephp.com/nix-reproducible-hermetic-builds/</link><pubDate>Wed, 30 Sep 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/nix-reproducible-hermetic-builds/</guid><description>可复现与封闭构建实战：什么是可复现构建、固定哈希（fixed-output derivation）、构建网络隔离与 impure 检测、确定性问题（时间戳/路径/环境）、diffoscope 对比、Reproducible Builds 标准、nix build --rebuild 验证、让构建可复现的工程手段、常见坑。</description></item><item><title>Nix 包打补丁与版本定制：overrideAttrs、override 与源码补丁</title><link>https://plumephp.com/nix-package-patching/</link><pubDate>Wed, 30 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-package-patching/</guid><description>Nix 包打补丁与版本定制实战：为什么需要定制包、override 与 overrideAttrs 的区别、给包打源码补丁（patches/applyPatches）、替换依赖版本、override 陷阱（层级/递归）、在 flake 里覆盖 nixpkgs、写自己的补丁维护流程、常见坑与调试。</description></item><item><title>NixOS 安全加固实战：攻击面最小化、AppArmor 与审计</title><link>https://plumephp.com/nixos-security-hardening/</link><pubDate>Wed, 30 Sep 2026 09:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-security-hardening/</guid><description>NixOS 安全加固实战：安全加固思维、攻击面最小化（最小服务/用户/暴露）、AppArmor 强制访问控制、安全内核参数与 sysctl、SSH 加固（密钥/速率限制/跳板）、auditd 审计与日志、firejail/沙箱隔离、安全更新与漏洞扫描、加固基线清单、常见陷阱。</description></item><item><title>Nix Flake 模板实战：从零搭建多语言项目脚手架</title><link>https://plumephp.com/nix-flake-templates/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-flake-templates/</guid><description>Nix Flake 模板实战：flake 模板体系、常用模板（多语言/多场景）、自建模板、模板引用与参数化、多输出组织（devShells/packages/checks）、模板与 CI 集成、常见坑与最佳实践。</description></item><item><title>NixOS 存储与文件系统：分区、LVM、Btrfs 与磁盘管理</title><link>https://plumephp.com/nixos-storage-filesystems/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-storage-filesystems/</guid><description>NixOS 存储管理实战：磁盘分区与挂载、swap 配置、LVM 逻辑卷、Btrfs 子卷/快照/压缩、ZFS 集成、挂载选项与 fstab 声明式管理、磁盘配额与监控、故障恢复。</description></item><item><title>NixOS 密钥管理实战：sops-nix、agenix 与声明式秘钥分发</title><link>https://plumephp.com/nix-secrets-management/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-secrets-management/</guid><description>NixOS 密钥管理实战：为什么配置里不能写明文密钥、sops-nix（SOPS+age）工作流、agenix 声明式秘钥、多主机密钥分发、CI 与拉取密钥、密钥轮换与审计、配合 systemd 服务的秘钥注入。</description></item><item><title>NixOS 服务管理实战：systemd 声明、NixOS 容器与常用服务部署</title><link>https://plumephp.com/nixos-services-containers/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-services-containers/</guid><description>NixOS 服务管理实战：声明式 systemd 服务、服务依赖与开机自启、环境变量与秘钥、NixOS 容器（NixOS Containers）、常用服务部署（nginx/postgres/redis/cron）、服务监控与开机启动时序。</description></item><item><title>NixOS 网络与防火墙配置：声明式网络管理实战</title><link>https://plumephp.com/nixos-network-firewall/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-network-firewall/</guid><description>NixOS 声明式网络配置实战：接口与地址、DHCP/静态 IP、WiFi 与 wpa_supplicant、DNS 与解析、路由与多网卡、防火墙（iptables/nftables 声明式）、端口开放、NAT 与转发、tun/tap 与 VPN、WireGuard 配置。</description></item><item><title>NixOS 运维实战：升级、回滚、GC 与日常维护</title><link>https://plumephp.com/nixos-operations-maintenance/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-operations-maintenance/</guid><description>NixOS 运维与维护实战：系统升级流程（稳定版/滚动版）、channel 与 flake 升级对比、nixos-rebuild 各种子命令、回滚与世代管理、垃圾回收与 store 瘦身、磁盘空间排查、备份与恢复、日常巡检清单。</description></item><item><title>交叉编译与 overlay：异构构建全攻略</title><link>https://plumephp.com/nix-cross-compilation-overlay/</link><pubDate>Sat, 26 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/nix-cross-compilation-overlay/</guid><description>为树莓派、ARM 服务器交叉编译是 Nix 的王牌场景。本文深入 nixpkgs overlay 机制、cross 工具链（aarch64 目标）、lib.genAttrs 多架构矩阵、异构编译流程与常见坑，带你写出可同时产出 x86_64 与 aarch64 产物的 flake。</description></item><item><title>可复现开发环境：devenv.sh、devShells 与 direnv</title><link>https://plumephp.com/nix-devenv-reproducible-dev/</link><pubDate>Sat, 26 Sep 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/nix-devenv-reproducible-dev/</guid><description>开发环境的可复现比构建更棘手——语言版本、环境变量、pre-commit 钩子、IDE 集成都要一致。本文对比 devShells、devenv.sh 两种主流方案，详解多语言工具链、direnv 自动加载、pre-commit 集成与团队协作的最佳实践。</description></item><item><title>NixOS 模块系统：options 声明与模块合并语义</title><link>https://plumephp.com/nixos-module-system/</link><pubDate>Sat, 26 Sep 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-module-system/</guid><description>NixOS 模块系统是声明式系统配置的心脏。本文深入 options 声明、模块合并语义、mkOption/mkIf/mkMerge/mkDefault 的优先级规则、以及如何开发可复用的自定义模块，从源码语义讲透为什么 NixOS 配置能「合并而不冲突」。</description></item><item><title>Nix 构建与 CI：GitHub Actions 集成与 Cachix 缓存</title><link>https://plumephp.com/nix-ci-cachix/</link><pubDate>Sat, 26 Sep 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/nix-ci-cachix/</guid><description>把 Nix 接入 CI 的最大价值是「一次构建、处处复用」——通过 Cachix 等二进制缓存，push 和 PR 可以共享完全相同的 store 路径。本文详解 GitHub Actions 集成 Nix、Cachix 推送/拉取、derivation 缓存复用与远程构建，附完整可运行工作流。</description></item><item><title>Flakes 最佳实践：企业级布局与模块化拆分</title><link>https://plumephp.com/nix-flakes-best-practices/</link><pubDate>Sat, 26 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-flakes-best-practices/</guid><description>Flakes 已成为 Nix 生态的事实标准，但「能用」和「用得对」是两回事。本文从企业工程视角总结 inputs/outputs 组织、flake.lock 锁文件治理、多文件模块化拆分、模板复用与 monorepo 级 flake 布局，附带可直接落地的目录骨架与代码。</description></item><item><title>Nix 语言深度：函数、惰性求值与模块化抽象</title><link>https://plumephp.com/nix-language-deep-dive/</link><pubDate>Sat, 26 Sep 2026 09:00:00 +0800</pubDate><guid>https://plumephp.com/nix-language-deep-dive/</guid><description>Nix 是一门纯函数式、惰性求值的领域语言，理解其核心语义是从「会用」走向「精通」的分水岭。本文深入函数与柯里化、惰性求值、attrset 操作、let/inherit/rec/with 绑定、override 与 fix 定点组合，用大量可运行表达式讲透 Nix 语言的底层机制。</description></item><item><title>Home Manager 用户级配置</title><link>https://plumephp.com/nix-home-manager/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-home-manager/</guid><description>Home Manager 将 Nix 的声明式配置管理从系统级延伸到用户级。本文详解 home.nix 结构、用户包管理、dotfiles 管理、与 NixOS 的协同以及多主机配置复用。</description></item><item><title>Nix Flakes 现代包管理</title><link>https://plumephp.com/nix-flakes/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-flakes/</guid><description>Nix Flakes 是自 Nix 2.4 引入的实验性特性，现已成为 Nix 生态系统的事实标准。本文详解 flake.nix 结构、inputs/outputs、flakes 与传统方式的对比以及 flake.lock 版本锁定机制。</description></item><item><title>Nix Shell 开发环境</title><link>https://plumephp.com/nix-shell-development/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-shell-development/</guid><description>Nix Shell 提供了声明式、可复现的开发环境。本文详解 nix-shell、nix develop、flake 的 devShells、shell hooks、以及团队协作中的可复现开发环境实践。</description></item><item><title>Nix 包管理实战</title><link>https://plumephp.com/nix-package-management/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-package-management/</guid><description>Nix 包管理器通过纯函数式方法实现了可复现、可回滚的软件包管理。本文详解 nixpkgs 仓库结构、derivation 原理、常用命令和社区生态。</description></item><item><title>Nix 构建 Docker 镜像</title><link>https://plumephp.com/nix-nix-docker/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-nix-docker/</guid><description>Nix 提供了比传统 Dockerfile 更优的容器镜像构建方案。本文详解 nixpkgs dockerTools、OCI 镜像构建、层缓存优化、多阶段构建以及与传统 Docker 工作流的对比。</description></item><item><title>Nix 语言基础</title><link>https://plumephp.com/nix-language-basics/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-language-basics/</guid><description>Nix 表达式语言是一种纯函数式领域特定语言，用于描述软件包和系统配置。本文详解 Nix 的语法特性、数据类型、函数定义、惰性求值和模块系统。</description></item><item><title>NixOS 系统配置管理</title><link>https://plumephp.com/nixos-configuration/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nixos-configuration/</guid><description>NixOS 是围绕 Nix 包管理器构建的 Linux 发行版，实现了声明式的系统配置。本文详解 configuration.nix 结构、模块系统、系统重建、服务管理和网络配置。</description></item><item><title>NixOS 远程部署工具</title><link>https://plumephp.com/nix-deployment-tools/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-deployment-tools/</guid><description>将 NixOS 配置远程部署到多台服务器需要专门的工具。本文对比 NixOps、deploy-rs 和 Colmena 三种主流方案，详解配置编写、部署流程和回滚机制。</description></item></channel></rss>