• Laser
    link
    fedilink
    arrow-up
    3
    ·
    2 months ago

    I haven’t encountered systemd bugs in NixOS yet. Doesn’t mean they don’t exist - but I can’t confirm the issue.

    I run everything on NixOS nowadays and I do think that all of this makes sense, whether the implementation is the best I can’t judge.

    Just wanted to make sure my statement wasn’t a criticism on NixOS, the maintainers do a great job. It’s rather taking a jab at the “boring” statement.

    Nowadays if I want declarative configuration, I just cram everything into docker containers and write a huge docker-compose.yml for everything that I want to run.

    Docker compose is imperative though ;) (if that actually matters is up for debate) - fun fact nix allows you to build containers very easily.

    I love how you can set up SSL certificates for nginx with autorenewal just by switching it on in configuration.nix.

    How well this all goes together is really one of the strongest points of nix and NixOS. Though just for manageability, I personally wouldn’t put this into configuration.nix, but rather into a file dedicated to the respective service.

    • renzev@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Maybe I’m confused, but from what I understand, “declarative” means you tell the computer what you want the final thing to look like, and “imperative” means you tell the computer what steps to take. So Dockerfile would be imperative because it’s a set of commands that are executed in-order to create the image. Meanwhile docker-compose.yml is declarative because you say which containers are used with what options and how they’re interconnected. IDK tho, as far as I understand the definitions aren’t that rigid

      • Laser
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        No you’re right, I mixed it up I guess.