Open-source project
Gabriella439/nixos-in-production avatar
Gabriella439/nixos-in-production

nixos-in-production is a book, not a config repo, and its licence rules out commercial use

Source files for the book "NixOS in Production"

662 stars27 forksMarkdownNOASSERTION

At a glance

What is it?
Gabriella439/nixos-in-production holds the source files of a work in progress book about running NixOS in production, published free on LeanPub under CC BY-NC-SA 4.0. The repository is interesting for the tooling it ships and for the fact that pull requests are refused, but the non commercial clause is a hard stop for many teams.
Who is it for?
Use this book if you are introducing NixOS to a production environment and want a free, self contained reference with a reproducible source tree. Do not plan to reuse its chapters in internal training documents or commercial documentation, because the CC BY-NC-SA 4.0 licence requires non commercial use and share alike distribution, and the author declines pull requests, so you will not get corrections merged.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 177 days ago.
What is it written in?
Mainly Markdown, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A book repository, with the chapters as the source of truth

The first thing to understand about this repository is that it is not a NixOS configuration you can borrow. It is the source files for a book called NixOS in Production, written about introducing and maintaining NixOS in a production environment and hosted on LeanPub.

The layout confirms the intent. The top-level entries are manuscript/, templates/, a flake.nix, a TODO file, LICENSE.md and the README itself. A manuscript directory holds the text, a templates directory holds whatever layout or tooling the book build needs, and flake.nix is the Nix entry point for that build. This is the shape of a book being produced, not of a deployment kit.

The description calls the work in progress, and the README repeats that it is a work-in-progress book. The TODO file at the root is the honest indicator of where the project actually stands, and any reader assessing coverage should open it before assuming a chapter exists.

For the reader, the practical value is a coherent argument rather than a pile of snippets. A book can explain why a team would choose declarative infrastructure in the first place, what broke for them in production, and how they reacted, in a way that a module collection cannot.

The non commercial clause is the first thing to check

The licence deserves the first paragraph of any evaluation, because it will disqualify some readers immediately and quietly for others.

The author states the reasoning plainly, describing digital scarcity as a claim he rejects, and publishes the work under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The licence covers both the source files inside the repository and the LeanPub edition. Attribution is required, non commercial use is required, and derivatives have to be shared alike.

Non commercial use is the clause that bites. Reading the book inside a company, or adapting its chapters into internal onboarding documents, is not obviously covered by a licence that permits sharing for non commercial purposes only. The share alike requirement compounds it: a derivative work inherits the same conditions.

The author keeps a commercial path open. The LeanPub edition can be purchased, the book was self published with professional services paid out of pocket so that it could stay free, and a separate print edition with more professional layout is planned, with a discount offered against the LeanPub purchase for people who bought the digital edition. So the free repository and the paid editions are two sides of one arrangement rather than an open source project that later went commercial.

A caution rather than advice: the exact boundary of non commercial use in your context is a legal question, and this review cannot answer it.

Why the repository accepts issues but not pull requests

The contributing policy is unusual enough to state exactly, because it changes what you can do with the project.

The author says feedback is welcome through issues, but that for copyright reasons no pull requests will be accepted, so that the exclusive right to commercialise the work can be reserved by the sole copyright holder. The stated reason is copyright, not technical: the upstream contributions listed elsewhere in the project description are described as improvements to the Nix ecosystem made along the way.

Practically, this means the repository is a one author publication with a read only community channel. You can report a typo, a broken build or an outdated command in an issue, and the author may or may not act on it. You cannot send a corrected chapter, a new section or a translation as a pull request, even though the project description does not mention a translation workflow for this book.

That is the price of keeping sole copyright, and it is the same trade that produces the free non commercial edition. Contributors who want their corrections merged should expect to send issues and wait.

The version history also hints at who maintains this and how. Published tags are v0.10 on 2024-09-23, v0.9 on 2024-09-07 and v0.8 on 2024-03-09, so the book moved quickly through several versions during 2024. The last push was on 2026-04-29, which is more recent than any release tag, meaning work continued in the repository after the last versioned edition was published.

The author's upstream work is the durable part of the project

Two upstream contributions are named in the project description, and they are more reusable than the prose.

The first is improved Terraform support for NixOS, described in a post from 2023 about Terraform and NixOS with a modern Terraform provider arrangement. The second is Nixpkgs support for Linux builders on macOS, from a 2022 post. Both are described as contributions made along the way to improve the NixOS development experience that the book documents.

This is the pattern you should expect from the repository. The narrative value is in the reading, but the durable engineering value sits upstream in nixpkgs and in the Terraform tooling, where the work lands in code anyone can consume rather than in a chapter you would have to rewrite to use commercially.

It also explains the emphasis in the project description on the author having written the book and contributed improvements along the way. The two claims are linked: the upstream work is what gives the book credibility about how NixOS behaves in production, and it is where a reader with a technical problem can go for help that does not run through the book's licence.

If your goal is a specific fix rather than a working model of production NixOS, start with the two upstream projects named here rather than with the repository itself.

What a flake.nix and templates directory tell you about the build

The repository root contains a flake.nix and a templates directory, which together suggest that the book is built with Nix rather than by hand.

A flake.nix is the entry point for a Nix flake, and its presence means the book build can be described as a reproducible Nix expression rather than a pile of scripts that depend on whatever is installed. The templates directory is where the book templates or generation templates live, the kind of thing a Pandoc or similar book pipeline consumes.

The contents of flake.nix are not shown in the repository overview, so the specific inputs, the output format and the toolchain it pins cannot be confirmed here. What can be confirmed is the shape: the manuscript text, the templates and a Nix expression describing how they combine.

That matters for the same reason the rest of the book does. A configuration guide that is itself built from a pinned, reproducible expression is demonstrating the discipline it recommends, and a reader who wants to reproduce the book, translate it or fork it for their own purposes has a starting point rather than a blank page.

It also sets a boundary for this review. There is no release artefact for the book build in the repository entries, and no documented command for rendering the manuscript is given, so a reader who wants the PDF would be building it from source rather than downloading it.

How this compares with other ways of learning NixOS in production

It is worth being clear about the alternative approaches, because the choice here is not simply good book against bad documentation.

Documentation sites and wiki pages are free, editable by anyone and updateable without permission. Their weakness is exactly what this repository is organised around: they can fall out of date silently, because a correction depends on someone noticing and having the right fix ready. A tagged release such as v0.10 gives you a fixed point in time, and the text inside it does not change underneath you.

The opposite trade is that a book freezes an ecosystem that moves. NixOS configuration practices shift as nixpkgs changes, and a chapter written in 2024 is a statement about 2024. The project does not claim the content is current, and the gap between the last release and the last push means the newest text has not been published as a versioned edition.

There is a third path worth naming: the upstream projects the author already contributed to. Documentation that lives in nixpkgs pull requests and provider repositories is tied to the code it describes, but it is fragmented and assumes you already know what you are looking for.

So the choice is between a dated but coherent narrative with a fixed licence, living community documentation that anyone can improve, and upstream reference documentation tied to the code. For a team that must understand why a production setup works, the first one has a place the other two do not.

Editorial conclusion

Use this book if you are introducing NixOS to a production environment and want a free, self contained reference with a reproducible source tree. Do not plan to reuse its chapters in internal training documents or commercial documentation, because the CC BY-NC-SA 4.0 licence requires non commercial use and share alike distribution, and the author declines pull requests, so you will not get corrections merged. Before reading it, check the version tags, since the newest release is v0.10 from 2024-09-23 while the last push was on 2026-04-29, and read the TODO file to see which chapters are still marked as work in progress.

Frequently asked questions

What is nixos-in-production and who is it for?

It is the source files of a work-in-progress book about introducing and maintaining NixOS in a production environment, published on LeanPub. It is aimed at teams moving to NixOS or running it in production rather than at newcomers looking for a first Nix tutorial.

Can I use nixos-in-production in a commercial setting?

The book and the repository are published under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, which requires non commercial use and share alike distribution. The paid LeanPub edition and a planned print edition are the commercial path.

Can I contribute fixes to nixos-in-production?

No. The author accepts feedback through issues but states that pull requests will not be accepted, in order to keep the exclusive right to commercialise the work as sole copyright holder.

How do I build the book from source?

The repository contains a manuscript directory with the text, a templates directory and a flake.nix, so the book is built with Nix. The contents of the flake are not shown in the repository overview, and no documented render command is given there.

What is the latest version of the NixOS in Production book?

The newest published tag is v0.10 from 2024-09-23, preceded by v0.9 on 2024-09-07 and v0.8 on 2024-03-09. The repository itself was last pushed on 2026-04-29, which is after the last release tag.

Official sources

  1. Gabriella439/nixos-in-production on GitHub
  2. Issues
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/gabriella439-nixos-in-production.svg)](https://hysenlabs.com/projects/gabriella439-nixos-in-production)

Was this useful?