🛠️ ❤️ Want to know NixOS & Flakes in detail? Looking for a beginner-friendly tutorial? Then you've come to the right place! 想要学习使用 NixOS 与 Flakes 吗?在寻找一份新手友好的教程?那你可来对地方了!
Go to file
2024-12-16 09:37:22 +08:00
.github fix: disable pdf generation before the bug gets fixed 2024-12-16 09:37:22 +08:00
docs polish: nixpkgs module system - the import function 2024-12-10 21:35:54 +08:00
.gitignore feat: add pre-commit-hooks for spell checking, markdown linting, etc. (#122) 2024-03-16 17:11:37 +08:00
.npmrc fix: vercel ci 2023-10-04 19:15:29 +08:00
.prettierignore chore: automatically collapse all lines(max width = 100) (#126) 2024-03-16 19:29:05 +08:00
.prettierrc.yaml chore: automatically collapse all lines(max width = 100) (#126) 2024-03-16 19:29:05 +08:00
flake.lock chore: bump nixpkgs to 24.11 (#199) 2024-11-22 14:21:53 +08:00
flake.nix chore: bump nixpkgs to 24.11 (#199) 2024-11-22 14:21:53 +08:00
LICENSE.md LICENSE: MIT -> CC BY-SA 4.0 2024-03-08 12:22:21 +08:00
package.json refactor: update vitepress, refactor config.ts & en docs (#195) 2024-11-14 13:58:36 +08:00
pnpm-lock.yaml fix: giscus for default lang(English) 2024-11-22 17:32:15 +08:00
README.md link to new nixos wiki (#158) 2024-05-10 09:40:43 +08:00
vercel.json fix: enable cleanUrls 2023-06-30 15:29:38 +08:00

NixOS & Flakes Book 🛠️ ❤️

Want to know NixOS & Flakes in detail? Looking for a beginner-friendly tutorial? Then you've come to the right place!

An unofficial and opinionated NixOS & Flakes 📖 for beginners: https://nixos-and-flakes.thiscute.world/

中文版: https://nixos-and-flakes.thiscute.world/zh/

If you're using macOS, ryan4yin/nix-darwin-kickstarter may be a good starting point for you, you can learn how to use Nix with this book and take nix-darwin-kickstarter as a start point to build your own Nix configuration.

Feedback and Discussion

Im not an expert on NixOS, and Ive only been using NixOS for less than 9 months until now(2024-02), so there must be some misconceptions or inappropriate examples in the book. If anyone finds anything incorrect or have any questions / suggestions, just let me know about it by open an issue or join the discussion on GitHub Discussions, I'm glad continue to optimize the content of this book.

The reason why I wrote this little book was only because no one in the community did it for me, who was a beginner at the time, so I chose to do it myself. Even though I knew I could make mistakes, it's much better than do nothing.

My hope is that this book can help more people, enabling them to experience the joys of NixOS. Hope you like it!

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!

References

License

NixOS & Flakes Book © 2023 by Ryan Yin is licensed under CC BY-SA 4.0