I used to have a VPS running a traditional OS (CentOS) that I eventually got rid of. One of the reasons I tried to migrate away from it was from the sysadmin perspective, I felt like the server once everything was configured was a bit of a snowflake.

Obviously configuring everything through nix and being able to easily rollback changes sound very compelling.

Have folks used nix as a server OS? How’s your experience been?

  • jboyens@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    It’s pretty great at being a server OS, honestly.

    There are tons of modules that set up services well. Almost everything I’ve wanted to run already has a module and it’s as easy as services.name.enable = true.

    By far my favorite aspect has been being able to declaratively configure things like Prometheus or Traefik. It solves a problem I end up trying to solve with a lot of glue (and YAML) at work.

    Being able to recover from disaster by just checking out your git repo and doing a rebuild makes everything else feel a little… hacky. You don’t need a separate system to manage config files or software versions.

    I sound like a fanboy because I am. It’s been revolutionary for me.

  • Matej@matejc.com
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    First of all you are probably talking about NixOS and not Nix as a server. I was using servers in cloud as well as machines at home, using Debian, Ubuntu, OpenSUSE, Fedora, Arch and even FreeBSD.

    In the cloud I was using mainly two types of setup: Kubernetes and as a normal VPS and then services on top. Over the years I discovered that my favorite setup is NixOS on VPS for my services. You might ask why NixOS and not Kubernetes, does not K8s ecosystem supports all the world’s services and you might be right. But the my argument is that NixOS is way simpler, cheaper, and with less hassle, even if some services do not exist yet for NixOS, they are simple to integrate. Also my setup is reproducible with just backups of /etc/nixos/ directory and /var/lib/ both of which can exist as storage volumes. At the end, I am very happy with my setup, and do not miss conventional OS-es and other cloud solutions.