• Laser
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    2 days ago

    For me, the factors were:

    • the ability to split your system configuration into logical modules. Describe one logical thing in one file, no matter how many other factors are involved. Don’t want that thing anymore? Just don’t reference the module, and all changes will be reverted.
    • easily try out new configurations and roll back, regardless of underlying filesystem, without performance penalties.
    • the ability to put logic into your configuration (technically, there’s no difference between what’s typically referred to as configuration and a module in nix, though the latter usually has more “logic” and provides values with lower priority).
    • as a consequence, make modules transferable between systems. There’s e.g. a Lanzaboote module that enables Secure Boot in a really smart way on NixOS, and the configuration is in my opinion easier than on any other Linux system.
    • the reproducibility, from which the “easy reinstallation” follows