• snek_boi@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I get that it can seem that way. But it’s also true that I love it! I’m a big functional programming fan, and an extension to that is NixOS’s functional way of dealing with packages and dependencies.

    • rocketeer8015@discuss.tchncs.de
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      They are very very different, much more so than say arch and mint are different. Listing what makes nix better than mint would be just a list of features mint is missing, wether these are relevant for you or not would decide if they make nix better. However there are some objective technical points that are just flat out better:

      • One config file describing your system. You change that file, you change the system. The system always is in the state described in that file.

      • Complex system changes that would require many steps are trivial since you only have to describe the outcome in your configuration file instead of how to get there. For example I can declare in the config file that I want a system using the current stable linux kernel with zen patches and Nvidia drivers that have 32 bit support.

      • Every update is a (seamless) reinstall. The entire system gets rebuilt as if it was a fresh install, sans your home directory and the settings you made ofc.

      • Concept of generations. Every time I change my config file or rebuilt my system(update) it is a new generation with its own entry in the bootloader. Btw, the config file also controls which bootloader your system uses, you can just say grub or systemd and nix takes care of the rest.

      • ‘nix-shell -p program’ that little command will open a shell with the specified applications installed in it, after you close that shell the programs are gone. This is great for trying out apps without cluttering your system with their dependencies, or quickly using a app you know you won’t need permanently.

      • Choice between release based updates or bleeding edge rolling. Concept of generations does still apply, you can quickly try out the rolling release channel and if it doesn’t work out you can easily go back.

      • Trivial to change midstack applications. With midstack I mean things like cinnamon, gnome-shell or plasma base files. For example what if you wanted to switch from gnome to kde? A single word changed in the nix config file will rip out all of the gnome stack and put the plasma stack in instead. As if you never had gnome on your system, a reinstall for all intents and purposes. Again, trivial to change back.

      That’s just some of the advantages of nix.

  • VE3VVS@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Just because I’m interested in the hole NixOS thing, I was wondering how much difference there is between NixOS and Guix, I know I’ve spun both up in a VM and while they are similar, Guix is different enough that I can’t find the main config file. So can someone give me a quick description of the difference?