6

NixOS and GuixSD both bill themselves as "declarative" and DevOps-friendly. How and in what ways are these declarative distros different than Kickstart and/or a Linux distro managed by a configuration management tool?

What advantages and/or disadvantages are there to this style of declarative linux configuration as opposed to these currently existing technologies?

2 Answers 2

5

AFAIK Kickstart is only usable for the initial installation of the OS, but not for subsequent package maintenance upgrades/downgrades.

Unless I miss something (quite possible, I don't have much experience w/ them) the Linux distros managed by configuration management tools require a minimum level of health from the OS (and some package requirements, at least in some cases) to be able to operate those tools, say to perform a rollback. At least NixOS appears to not have such requirement (or rather it is already fullfilled at the OS level). From About NixOS:

Rollbacks

Because the files of a new configuration don’t overwrite old ones, you can (atomically) roll back to a previous configuration. For instance, if after a nixos-rebuild switch you discover that you don’t like the new configuration, you can just go back:

$ nixos-rebuild switch --rollback 

In fact, all old system configurations automatically show up in the Grub boot menu. So if the new configuration crashes or doesn’t boot properly, you can just roll back by selecting an older configuration in the Grub boot menu. Rollbacks are very fast: it doesn’t involve lots of files having to be restored from copies.

3

Pros:

  1. No configuration management tools like puppet, chef, salt or ansible needed

Cons:

  1. Dependent: If one has written a lot of NixOps files and one decides to go to another provider then one has to rewrite all the provision scripts, while a tool like terraform is cloud agnostic
  2. No autoscaling like docker
  3. Promotion of silos, e.g. DevOps friendly. In my opinion dev should release software as well. Now one could just use docker that they use in development as well.
1
  • You do not need configuration management tools with kickstart. I am building AMI using Puppet and then final configuration is simple sh script. Commented Aug 17, 2017 at 11:44

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.