Elpe。牦牛很大。剃刀更大

主要观点:介绍了一个用 Rust 和 OCaml 编写的新的配置即代码的不可变构建系统 Elpe,旨在解决 Linux 软件分发中的权衡问题,尝试在纯函数式、几乎完全自举的 Linux 发行版(如 Nix)和更主流的包管理器(如 Debian 和 Ubuntu)之间架起桥梁。
关键信息

  • Elpe 可从其他 Linux 发行版描述构建环境,并在容器中运行脚本。
  • 存在两种 Linux 软件分发的不同愿景,Debian 认为编译包是专家任务,NixOS 则追求完全可重现的系统。
  • 现有解决方案(Debian 和 NixOS)存在问题,如 Debian 缺乏构建可重现性和原子更新,NixOS 面临供应链安全、治理、软件安全等问题。
  • Elpe 利用 Nix 的硬编码路径到 bash 脚本并在容器中运行的想法,但使用 Ubuntu 包,重新思考了一些不喜欢的部分。
    重要细节
  • Elpe 项目始于为开源 Nest 添加 CI 系统的思考,作者曾是 Debian 用户,后成为 NixOS 用户和贡献者。
  • Nix 语言非静态类型且未编译,学习有三个阶段,存在“脑 teasers”设计元素。
  • Elpe 的示例展示了编写“Hello, world!”包的过程,包括 Makefile、hello.c 和 elpe.ml 文件,以及启动 Elpe 守护进程和构建包的步骤。
  • 目前 Elpe 是一个 Linux 项目,可考虑扩展到其他平台,但可能在性能和安全方面有权衡。
  • 欢迎在 Pijul Zulip 中寻求帮助,项目的 README 列出了需要帮助的事项。
阅读 11
0 条评论