Skip to content

saylesss88/nix-book

Repository files navigation

📚 Welcome to nix-book!

Deploy mdBook to User GitHub Pages

Buy Me A Coffee

🚀 If you find this guide helpful, please consider leaving a star ⭐ or supporting the project by buying me a coffee ☕. Your support helps keep this content updated and freely available.

Follow nix-book with your preferred feed format for automatic notifications of new content:

Welcome to my personal journey and guide through the Nix ecosystem! This "book" aims to be a practical and understandable resource for anyone looking to dive into Nix, NixOS, and Home Manager. Whether you're just getting started or looking to deepen your understanding, I hope you find this resource helpful!

I am a technologist with a wide range of interests that I'm passionate about, NixOS being one of them. I am also a privacy advocate trying to spread the word.

✨ What You'll Find Here

This book covers a range of topics to help you harness the power of Nix:

  • Getting Started with the Nix Ecosystem: Covers the Nix Language, Package Manager, and a minimal Btrfs-Subvol install with Disko and Flakes, including Btrfs Impermanence.

  • Hardening NixOS: A deep dive into security and hardening practices with NixOS

  • Hardening Networking: Configure dnscrypt-proxy, firewalls, and more.

  • Gnupg and gpg-agent on NixOS

  • Whonix KVM on NixOS

  • NixOS as a Guest VM with Secureblue as the Host

  • Version Control with Git

  • Version Control with JJ

  • Understanding Nix Functions: Explores practical Nix functions and their role with NixOS Modules.

  • NixOS Modules Explained: A dedicated deep dive into NixOS's modular configuration system.

  • Nix Flakes Explained: Comprehensive coverage of Flake Inputs, Outputs, Examples, and extending Flakes with Custom Packages using Overlays.

  • Understanding Top-Level Attributes

  • Package Definitions Explained

  • Intro to Nix Derivations: Including how builders and Autotools work.

  • Comparing Flakes and Traditional Nix

  • Debugging and Tracing NixOS Modules

  • Working with Nixpkgs Locally

  • Fork, Clone, Contribute to Nixpkgs

  • Nix Pull Requests

  • Intro to Nushell on NixOS

My goal is to share my learnings and provide clear examples to make your Nix experience smoother and more enjoyable.

📖 How to Read the Book

You can read the book directly here on GitHub by navigating through the folders, or for a more comfortable reading experience, check out the dedicated website. I tried to write it in a way where you could jump to the chapter you're interested in and still be able to follow along:

🙏 Contributions & Feedback

This book is a living document, and I welcome your input! If you find any errors, have suggestions for improvements, or want to contribute a new section, please feel free to:

  • Reach out to me on Reddit u/saylesss88

  • Open an Issue: For bug reports, typos, or content suggestions.

  • Submit a Pull Request: If you have code changes or want to add content directly.

Your feedback is invaluable and helps make this resource better for everyone!

⚖️ License

This "Nix Book" is open-source and licensed under the Apache License 2.0.

This means you are free to use, modify, and distribute this work, provided you adhere to the terms of the license. You can find the full text of the license in the LICENSE file within this repository:

To see a WIP book on privacy, checkout privacy-book

View the Apache License 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors