# Half a presentation I had in my company about NixOS

**URL:** https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467
**Category:** Uncategorized
**Created:** [December 7, 2021, 2:20pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467 "2021-12-07T14:20:29Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 7, 2021, 2:20pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/1 "2021-12-07T14:20:29Z")

</div>

We have a nice thing called ‘Day of Learning’ here in Red Hat where we learn new stuff on our own and/or present neat things to our colleagues. I’ve taken NixOS as one of the two topics to popularize among the fellow builders of what might be a solid contender for the un-NixOS-iest distro:

[It’s available here](https://monk.unboiled.info/pub/talks/2021/dol-nixos/dol-nixos.mp4), suggestions for a video hosting service are welcome.

These are cozy internal events that are not shared outside at all, yet I tried to make that one as shareable as possible.

Unfortunately there was bound to be some indiscriminate, yet heavy distro-building-practices bashing to happen, so I’ve made a hard decision to record neither the second part of the presentation nor the ensuing drawn-out debates so that we could speak our minds freely. I’ll just say I’m happy that I’ve ignited their mixed interest and that the alien new NixOS ways have been treated with the about the same respect as our established practices.

As for the first part, y’all probably know the Nix world even better than me, yet you might still be interested in my story of diving into it, who knows.

---

<div class="post-metadata">

### Author: ![nixinator](https://discourse.nixos.org/user_avatar/discourse.nixos.org/nixinator/32/3859_2.png) [@nixinator](https://discourse.nixos.org/u/nixinator)
#### Post date: [December 7, 2021, 5:12pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/2 "2021-12-07T17:12:56Z")

</div>

‘how Nixos does distro-building right’ .

your certainly not pulling any punches with that title. LMAO.

---

<div class="post-metadata">

### Author: ![jonringer](https://discourse.nixos.org/user_avatar/discourse.nixos.org/jonringer/32/1348_2.png) [@jonringer](https://discourse.nixos.org/u/jonringer)
#### Post date: [December 7, 2021, 6:54pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/3 "2021-12-07T18:54:04Z")

</div>

I really enjoyed it. 🙂

I really liked the ending where you had “$DISTRO has X feature, NixOS has…”, and then proceeded to describe how NixOS just avoids the need to have “these cool” features that work around FHS.

I would have really like to hear the discussion afterwards.

---

<div class="post-metadata">

### Author: ![nixinator](https://discourse.nixos.org/user_avatar/discourse.nixos.org/nixinator/32/3859_2.png) [@nixinator](https://discourse.nixos.org/u/nixinator)
#### Post date: [December 8, 2021, 4:54am UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/4 "2021-12-08T04:54:03Z")

</div>

i’d like to hear this discussion too. Great to peak engineers interests in the market leader for business linux solutions.

Maybe next year there will be more red hat linux + blue flake linux 🙂

One thing red hat doesn’t lack is $$$$ , we need more $$$$ here, so hardworking , dedicated nixers (maintainers, developers, testers, contributors etc etc etc) outside of the umbrella of tweage can get some of the $$$$ too. I think that a fair, reasonable and positive thing to address. (this is definitely easier said than done)

---

<div class="post-metadata">

### Author: ![smkuehnhold](https://discourse.nixos.org/user_avatar/discourse.nixos.org/smkuehnhold/32/4326_2.png) [@smkuehnhold](https://discourse.nixos.org/u/smkuehnhold)
#### Post date: [December 8, 2021, 6:16am UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/5 "2021-12-08T06:16:15Z")

</div>

As someone who is new to Nix, I’d like to compliment you on how engaging your presentation was. Time certainly not wasted!

---

<div class="post-metadata">

### Author: ![nixinator](https://discourse.nixos.org/user_avatar/discourse.nixos.org/nixinator/32/3859_2.png) [@nixinator](https://discourse.nixos.org/u/nixinator)
#### Post date: [December 8, 2021, 1:31pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/6 "2021-12-08T13:31:40Z")

</div>

i got around to watching… .brilliant!

Never in all my history have i even seen slides that are null/empty/nothing nix! … that is a first LMAO

Incredibly well thought out presentation , no chaff or waffe, with great real world examples.

This really needs pinning to the [nixos.org](http://nixos.org) home page @garbas

all hail the new red-flake linux (maybe next year).

---

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 8, 2021, 1:41pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/7 "2021-12-08T13:41:10Z")

</div>

> home page

Heh, no, as much as I am flattered, it certainly lacks the home-page grade polish. Though if anyone gets to making a video introduction course marketing NixOS to newcomers, I could help with the writing part.

> all hail the new red-flake linux (maybe next year)

Pff, you wish. But if 30 more people know NixOS exists that can’t be bad.

---

<div class="post-metadata">

### Author: ![mwb](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/m/ebca7d/32.png) [@mwb](https://discourse.nixos.org/u/mwb)
#### Post date: [December 8, 2021, 2:56pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/8 "2021-12-08T14:56:06Z")

</div>

“A shiny transparent mineral with the highest hardness in the world”. Diamonds are hard, describing them isn’t.

---

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 8, 2021, 2:58pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/9 "2021-12-08T14:58:16Z")

</div>

And NixOS is a Linux distro. Neither describing nor even scientifically defining diamonds should be hard, explaining what’s the deal with them is.

---

<div class="post-metadata">

### Author: ![mwb](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/m/ebca7d/32.png) [@mwb](https://discourse.nixos.org/u/mwb)
#### Post date: [December 8, 2021, 3:19pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/10 "2021-12-08T15:19:38Z")

</div>

> [@t184256](#):
>
> And NixOS is a Linux distro.

“Diamonds are minerals” (correct, but not enough)

Here’s how I would elevator-pitch NixOS:

“A Linux distro with reproducible package builds and easy rollbacks”.

(There’s other features, but you don’t want to obscure what’s important)

---

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 8, 2021, 3:22pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/11 "2021-12-08T15:22:16Z")

</div>

You can watch the recording to find out why I wouldn’t take either of these properties as an explanation of NixOS. This or take Debian and install that apt hook that creates btrfs snapshots of / on every transaction. =)

---

<div class="post-metadata">

### Author: ![pxc](https://discourse.nixos.org/user_avatar/discourse.nixos.org/pxc/32/17601_2.png) [@pxc](https://discourse.nixos.org/u/pxc)
#### Post date: [December 8, 2021, 3:44pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/12 "2021-12-08T15:44:03Z")

</div>

Sometimes I put Nix talks on for background noise or to settle down at the end of the day, as a way of keeping an eye on how and where Nix is received in the wider tech community. I’ve seen a lot of intro-to-Nix talks. This is one of my absolute favorites. 😃

I’ve been daydreaming lately about how if NixOS could sustain LTS releases, it would allow for a nice workstation OS with escape hatches, kind of similar to Fedora Silverblue. You could link each LTS release into a location like `/lts/1.0`, or into a bunch of directories like `/usr/1.0`, `/lib/1.0`, etc. The versions of libraries in an LTS are supposed to be ABI compatible and have identical behavior across updates, so users could link against and refer to paths in those locations ‘from outside the Nix world’ without running into trouble. SIlverblue has Flatpak as an escape hatch, but a similar system built around Nix would also naturally have Nixpkgs (which is nice because Flatpak is a little heavyweight, Flathub doesn’t contain many (any?) CLI utilities, and sandboxing is unnatural for a lot of common CLI utilities).

This would be really nice for allowing Nix-at-your-own-pace, like users get on macOS and non-NixOS Linux, on top of a base system built and managed like NixOS. It would confer the additional advantage of allowing multiple versions of the stable base system to be installed side-by-side, which might be interesting to companies like Red Hat and their customers as a way of easing transitions between major releases.

There’s also another possibility with such a system, probably of little interest to Acolytes of The Nix Way™ like us, of ports systems that target individual stable releases as their base systems. For people who just want a stable OS that works (and may or may not be interested in functional-style package management) and _enjoy_ a clear separation between the base system and user software, like you get on macOS or \*BSD, this could be a real benefit. What some people like about Homebrew or MacPorts or Pkgsrc is that they’re ‘simple’ to use (in a familiar, imperative way), and packages are _not_ isolated, but those systems don’t (or try not to) affect the base OS, and if they misbehave you can easily blast them away entirely. One of the pains users of such ports systems go through is that they can break and/or require lots of rebuilding when the base system is upgraded. With a base system based on stabilized/long-lived releases of Nixpkgs, much of that breakage could be ameliorated. At the same time, the isolation that Nix packages have would help immunize the base system against meddling by those kinds of ports systems, even when the base OS relies on a runtime (say, Python) that users of ports systems might want to manage via those ports systems. Immutable root filesystems that still rely on the FHS, like current applications of OSTree, are cool, but they don’t share that virtue.

The missing piece for all this, of course, is a (probably smaller) fork of Nixpkgs with long-lived branches where stable releases of software get backported security patches.

Maybe it’ll never happen, but imo applying Nix or a deeply Nix-like approach to distros with long-lived releases like RHEL would allow for some really cool downstream possibilities.

---

<div class="post-metadata">

### Author: ![mwb](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/m/ebca7d/32.png) [@mwb](https://discourse.nixos.org/u/mwb)
#### Post date: [December 8, 2021, 4:30pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/13 "2021-12-08T16:30:17Z")

</div>

> [@](#):
>
> This or take Debian and install that apt hook that creates btrfs snapshots of / on every transaction. =)

This doesn’t make Debian reproducible. And isn’t `btrfs` still a bit unstable?

---

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 8, 2021, 4:36pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/14 "2021-12-08T16:36:59Z")

</div>

Agreed, that doesn’t make Debian reproducible in the NixOS meaning of it (not even close) and btrfs could have better data recovery and raid stability. Yet my point was that you’ve specifically picked “reproducible builds” and “easy rollbacks”, two qualities of NixOS that just don’t add up to NixOS. So you can’t just give these two to my audience of that day and expect them to arrive at NixOS and not Debian with snapshots. =(

---

<div class="post-metadata">

### Author: ![pxc](https://discourse.nixos.org/user_avatar/discourse.nixos.org/pxc/32/17601_2.png) [@pxc](https://discourse.nixos.org/u/pxc)
#### Post date: [December 8, 2021, 4:45pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/15 "2021-12-08T16:45:35Z")

</div>

I like that Nix leaves rollbacks open no matter what filesystem you use.

I think `btrfs` is pretty good these days, though with the only remaining stability concern being the [RAID 5 write hole](https://btrfs.wiki.kernel.org/index.php/RAID56). On NixOS, OS files (the contents of `/nix/store`) are protected from partial writes in two ways:

1. Switching to a new config is an atomic filesystem operation, since it’s a symlink change; even if there is a partial write due to a power outage, the partial write wil
2. Nix provides tools good tools for verifying and repairing the contents of the Nix store

I’ve actually lost power during a `nixos-rebuild switch`. My Nix DB was corrupted (I just `rm`’d it and then everything was fine), but every single program on the system was in working order. And you get this on a system that, unlike OSTree, doesn’t strictly require a reboot for any update to take effect.

So there is a way forward from that conversation about how NixOS brings you different benefits and even protects you from some kinds of filesystem corruption no matter what filesystem you use (my power loss during upgrade was on `ext4`). But the way forward is a rabbithole, and layer after layer of ‘but it’s more than that! here’s an example’ doesn’t still doesn’t necessarily provide a compelling overview in the end.

---

<div class="post-metadata">

### Author: ![pxc](https://discourse.nixos.org/user_avatar/discourse.nixos.org/pxc/32/17601_2.png) [@pxc](https://discourse.nixos.org/u/pxc)
#### Post date: [December 8, 2021, 4:51pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/16 "2021-12-08T16:51:30Z")

</div>

Looks like there’s already some awareness of/interest in NixOS [on the OSTree side](https://github.com/coreos/rpm-ostree/issues/2326). Do you have any idea how many Nixers there are at Red Hat, or how many people there are interested in experimenting with NixOS or a functional package management approach?

---

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 8, 2021, 4:59pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/17 "2021-12-08T16:59:15Z")

</div>

> how many Nixers there are at Red Hat

A handful, which is less than I’d love to see.

> how many people there are interested in experimenting with NixOS or a functional package management approach?

IDK, that’s pretty general. Hopefully more now then last week? I was presenting mostly to my peers from the Linux Security crowd though.

---

<div class="post-metadata">

### Author: ![mwb](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/m/ebca7d/32.png) [@mwb](https://discourse.nixos.org/u/mwb)
#### Post date: [December 8, 2021, 5:29pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/18 "2021-12-08T17:29:52Z")

</div>

> [@t184256](#):
>
> So you can’t just give these two to my audience of that day and expect them to arrive at NixOS and not Debian with snapshots.

How would Debian with snapshots achieve reproducible builds?

---

<div class="post-metadata">

### Author: ![t184256](https://discourse.nixos.org/user_avatar/discourse.nixos.org/t184256/32/1038_2.png) [@t184256](https://discourse.nixos.org/u/t184256)
#### Post date: [December 8, 2021, 5:44pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/19 "2021-12-08T17:44:15Z")

</div>

Debian’s effort to achieve reproducible builds is orthogonal.

---

<div class="post-metadata">

### Author: ![mwb](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/m/ebca7d/32.png) [@mwb](https://discourse.nixos.org/u/mwb)
#### Post date: [December 8, 2021, 5:47pm UTC](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467/20 "2021-12-08T17:47:18Z")

</div>

> [@pxc](#):
>
> how and where Nix is received in the wider tech community

4chan’s /g/ is arguing about NixOS all the time (If you don’t know what it is, don’t google and click on it willy-nilly – it’s pretty NSFW)

[Next page](https://discourse.nixos.org/t/half-a-presentation-i-had-in-my-company-about-nixos/16467.md?page=2)
