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

<p>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 <a href="https://nixos.org/nixos/about.html" rel="noreferrer">About NixOS</a>:</p>

<blockquote>
  <p>Rollbacks</p>
  
  <p>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:</p>

<pre><code>$ nixos-rebuild switch --rollback
</code></pre>
  
  <p>In fact, all old system configurations automatically show up in the
  <a href="https://nixos.org/nixos/screenshots/nixos-grub.png" rel="noreferrer">Grub boot menu</a>. 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.</p>
</blockquote>

CC BY-SA 3.0
2017-08-14T17:27:30.807Z
2017-08-14T17:27:30.807Z
Dan Cornilescu
<p><strong>Pros:</strong></p>

<ol>
<li>No configuration management tools like puppet, chef, salt or ansible needed</li>
</ol>

<p><strong>Cons:</strong></p>

<ol>
<li><strong>Dependent:</strong> If one has written a lot of <a href="https://nixos.org/nixops/" rel="nofollow noreferrer">NixOps</a> 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</li>
<li>No autoscaling like docker</li>
<li>Promotion of silos, e.g. <code>DevOps friendly</code>. In my opinion dev should release software as well. Now one could just use docker that they use in development as well.</li>
</ol>

CC BY-SA 3.0
2017-08-17T11:44:50.060Z
You do not need configuration management tools with kickstart. I am building AMI using Puppet and then final configuration is simple sh script.
Hauleth
CC BY-SA 3.0
2017-08-14T17:05:13.597Z
2017-08-14T17:05:13.597Z
030
<p><a href="https://devops.stackexchange.com/questions/1749/are-nixos-and-guixsd-the-incoming-linux-distros-of-devops">NixOS and GuixSD both bill themselves as "declarative" and DevOps-friendly.</a> How and in what ways are these declarative distros different than Kickstart and/or a Linux distro managed by a configuration management tool?</p>

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

<configuration-management>
How are declarative distros different than Kickstart?
James Shewey
# How are declarative distros different than Kickstart?

(Asked by: username_0 on 2017-08-14)

[NixOS and GuixSD both bill themselves as "declarative" and DevOps-friendly.](https://devops.stackexchange.com/questions/1749/are-nixos-and-guixsd-the-incoming-linux-distros-of-devops) 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?

**Tags:** configuration-management


---

## 2 answers

### Answer by username_1 on 2017-08-14. Score: 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.


---

### Answer by username_2 on 2017-08-14. Score: 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](https://nixos.org/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.

> **Comments:**
> **username_3**: You do not need configuration management tools with kickstart. I am building AMI using Puppet and then final configuration is simple sh script.  

---

