No description
Find a file
2024-02-29 13:28:36 +08:00
.github feat: adjust devshells 2024-02-27 09:46:32 +08:00
docs feat: nixos modules vs home manager 2024-02-29 13:28:36 +08:00
.gitignore feat: update .gitignore for pdf 2023-08-05 16:22:15 +08:00
.npmrc fix: vercel ci 2023-10-04 19:15:29 +08:00
flake.lock fix: chromium rebuild 2023-12-08 19:19:17 +04:00
flake.nix feat: adjust devshells 2024-02-27 09:46:32 +08:00
LICENSE Initial commit 2023-06-22 23:59:01 -06:00
package.json feat: add giscus 2024-02-27 10:00:42 +08:00
pnpm-lock.yaml feat: add giscus 2024-02-27 10:00:42 +08:00
README.md feat: feedback & disscussions 2024-02-12 15:43:17 +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 was 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

MIT