[Nix-dev] Monitoring by default

Svein Ove Aas svein.ove at aas.no
Fri Apr 22 17:30:18 CEST 2016


My story is pretty similar to yours.

I first ran across Nix maybe... a year ago, or thereabouts. I don't
remember exactly how, but up until recently my Linux installs tended to
self-destruct once or twice a year, so I was always looking for alternative
(and ideally less breakable) distributions.

Nix seemed like obviously the right thing. That was my first impression;
that this way of doing it should be less prone to breakage or, at least, be
much quicker to reinstall. I've always wanted my installations to be
declarative, but it hasn't been very practical before.

Then I tried it, and found that almost nothing worked (I was trying it on
desktop, which seems like hard-mode), and went back to Ubuntu.

Fast-forward six months, and I had my otherwise-stable *server* fall apart
on me. Okay, that was a disk failure, but I took the opportunity to try
installing NixOS. And, after a few annoying moments, fell in love on second
sight.

Then I started poking at nixpkgs, because not everything was perfect, and
eventually I realised that it should be relatively straightforward to
implement a cross-cutting service like monitoring on top of this. Which is
what led me to this.

In between, I eventually replaced every other Linux install I've got with
NixOS. You could say I like it. Yup.

---

As to what's making me stick with NixOS? There are a lot of little things,
but if you put a banana to my head and force me to list the most important
ones...

- Declarative installs. This is a big, big, *big* advantage. It's the
feature that keeps on giving, everything from quick reinstalls (if
necessary), to putting configurations in git, to sharing configurations
between systems. There are other systems that do this (Chef, Docker), but
none do so as comprehensively, nor are they as usable.

- Nixpkgs. Unlike Debian et. al, adding your own code to NixOS is a
straight-forward and transparent process. I'm grateful to the maintainers
for bearing with and reviewing my continuing mistakes here. There were
enough things that didn't work that, if there had been any more friction,
I'd likely have thrown up my hands and gone back to Ubuntu.

- Native support for ZFS. :D
  There are a few bugs, still. Maybe I'll take another crack at those
eventually, but for now I'll be focusing on monitoring. (The primary
annoyance is the interaction of nixos-generate-config with automounted
snapshots, so it's nothing really important.)

- Not exactly a NixOS feature, but the Nix build system has been very
useful for my own, personal projects; e.g. I made a server-builder
<https://github.com/erisia/builder> for my excessively-modded minecraft
server. nix-build is obviously the right thing, even if it doesn't like
gradle caches very much.

/nix/store and its explicit dependencies actually haven't been a big draw
for me yet. I understand the advantages intellectually, and I've certainly
taken advantage of it, but I suspect this is the sort of thing that's
difficult to really appreciate without first banging your head into the
alternative.

Which, ok, may be a large part of the reason why my previous Linux
installations always self-destruct in the end, so I'm certainly not
objecting.


On Wed, Apr 20, 2016 at 9:09 AM Gleb Peregud <gleber.p at gmail.com> wrote:

> On Wed, Apr 20, 2016 at 10:02 AM, Gleb Peregud <gleber.p at gmail.com> wrote:
> > -lists
> >
> > Hey Svein
> >
> > Your glossary gives away you are an SRE at Google :)
>
> And I just realized that we actually have interacted in context of
> Haskell before.
>
> I am wondering. What's your story with Nix? I am currently slowly
> moving more and more of my infrastructure at home to Nix/NixOS as it
> feels like it is "the right solution" to package management and
> operation system management. Basically the same way Haskell is for
> programming languages. (In both cases of course I am referring to a
> default choice for usual needs, projects and environment).
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20160422/7de5bb2a/attachment-0001.html 


More information about the nix-dev mailing list