• halvar@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I mean I know people who have a lot of ansible knowledge and they were always like “yeah sure it’s declarative, you can ensure files are the correct version and stuff”, but that’s so far away that is from what NixOS does (unless I misunderstood something). I mean, the same task can be accomplished alright, but it’s a bit like writing your own NixOS.

    • unlawfulbooger@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      Exactly, ansible is basically imperative, where write the steps declaratively.

      Whereas nixos is more like a compiler that compiles to a working linux install.

      If I added the software myprogram and a config file at /etc/myprogram.conf, that’s pretty easy in both. But if I needed to to then remove those it gets different .

      With nixos it’s at easy as removing the two lines that add the program and the config file; after the next “compile”, the file is gone and myprogram is no longer available in the PATH.

      With ansible you need to change the relevant step to use apt remove instead of apt install and to change the config file step in a step that removes the file.

      Don’t get me wrong, ansible is still better than writing a lot of bash scripts, especially if you don’t have people with a lot of shell experience.

      But tools like nixos and guix are on a whole other level.