使用 Nix Flakes 管理 Hugo 开发环境

Nix Flakes 提供了可复现的开发环境,完美适配 Hugo 项目。

为什么选择 Nix?

  1. 可复现性:任何人都能获得完全相同的环境
  2. 隔离性:不污染系统环境
  3. 版本锁定:确保依赖版本一致

flake.nix 配置

{
  description = "Hugo Development Environment";
  
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
  };
  
  outputs = { self, nixpkgs }: {
    devShells.default = pkgs.mkShell {
      buildInputs = [ pkgs.hugo pkgs.git ];
    };
  };
}

使用方法

# 进入开发环境
nix develop

# 启动本地服务器
hugo server -D

# 构建站点
hugo -D

简单高效!⚡