.github | ||
docs | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
package.json | ||
pnpm-lock.yaml | ||
README.md | ||
vercel.json |
NixOS & Flakes Book 🛠️ ❤️
An unofficial and opinionated NixOS & Flakes 📖 for beginners: https://nixos-and-flakes.thiscute.world
中文版: https://nixos-and-flakes.thiscute.world/zh/
Feedback and Discussion
Want to discuss the content of this book? Have any questions? Please feel free to open an issue or join the discussion on GitHub Discussions.
Historical feedback and discussion:
- [2023-05-11] NixOS & Nix Flakes - A Guide for Beginners - Reddit
- [2023-06-22] Updates: NixOS & Nix Flakes - A Guide for Beginners - Reddit
- [2023-06-24] An unofficial NixOS & Flakes book for beginners - Discourse
- [2023-07-06] This isn't an issue but it has to be said: - Issues
中文反馈与相关讨论:
- [2023-05-09] NixOS 与 Nix Flakes 新手入门 - v2ex 社区
- [2023-06-24] NixOS 与 Flakes | 一份非官方的新手指南 - v2ex 社区
- [2023-06-24] NixOS 与 Flakes | 一份非官方的新手指南 - 0xffff 社区
Introduction to Flakes
The flakes experimental feature is a major development for Nix, it introduces a policy for managing dependencies between Nix expressions, it improves reproducibility, composability and usability in the Nix ecosystem. Although it's still an experimental feature, flakes have been widely used by the Nix community.1
Flakes is one of the most significant changes the nix project has ever seen.2
A Word of Caution about Flakes
The benefits of Flakes are evident, and the entire NixOS community has embraced it wholeheartedly. Currently, more than half of the users utilize Flakes3, providing assurance that Flakes will not be deprecated.
⚠️ However, it's important to note that Flakes is still an experimental feature. Some issues persist, and there is a possibility of introducing breaking changes during the stabilization process. The extent of these breaking changes remains uncertain.
Overall, I strongly recommend everyone to use Flakes, especially since this book revolves around NixOS and Flakes. However, it's crucial to be prepared for potential problems that may arise due to forthcoming breaking changes.
Contribution
A real community, however, exists only when its members interact in a meaningful way that deepens their understanding of each other and leads to learning.
If you find something which doesn't make sense, or something doesn't seem right, please make a pull request and please add valid and well-reasoned explanations about your changes or comments.
Before adding a pull request, please see the contributing guidelines.
Thank you to all the people who already contributed to this project!