开始使用 Nix 进行 Haskell

主要观点:介绍使用 Nix 管理简单 Haskell 项目的快速简便方法,包括设置 Nixpkgs 仓库版本、创建 Nix 外壳、添加 Haskell 依赖等,还展示了如何设置 Nix Flake 及创建静态链接可执行文件,指出该方法在复杂需求下的局限性及可选择的方案。
关键信息:

  • Niv 用于固定 Nixpkgs 仓库版本。
  • shell.nix创建包含所需工具的自定义 Nix 外壳。
  • package.nix使 Nix 知晓 Cabal 文件并从 Nixpkgs 拉取依赖。
  • Flake 可简化 Nix 相关操作。
  • 可创建静态链接可执行文件。
    重要细节:
  • 默认 Niv 会设置 Nixpkgs 仓库版本,可手动修改为最新稳定版本。
  • nativeBuildInputs中包含必要和可选的开发工具。
  • package.nix中可配置hlib选项。
  • Flake 可通过nix develop等新命令操作。
  • 创建静态链接可执行文件需特定配置及可能较长时间。
    局限性:在复杂需求如自定义依赖版本等情况下,此设置无法扩展,可选择学习更深入的 Nix 或使用框架。
阅读 18
0 条评论