• pimeys@lemmy.nauk.io
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    If you happen to customize your OS a lot, with NixOS you can define everything from one configuration: all your packages, your shell aliases, kernel parameters or for example the desktop wallpaper.

    You can push this config to GitHub and clone it to another NixOS machine and that one will have exactly the same packages, kernel parameters, shell aliases and wallpaper. Even the package versions, including all the libraries will be the same everywhere.

    You can even patch your tools from these configs, have custom kernels and go really crazy. When you commit your changes, they work exactly the same in all your machines. And on boot, you get a list of configurations, so you can boot to the previous config of your current changes broke something, go fix what you broke and retry.

    And, with nix the tool, your team can provide the flake.nix and flake.lock files in the software project you all work for. It will then make sure everybody gets the right versions from the dependencies, compilers, linters, etc. If it works for one, it works for all.

    Nix the tool let’s you try this out in systems like other Linux distros or removed. NixOS is an OS that is taking a step further and requiring you to define the whole system with Nix.

    Oh, and a sibling project Home Manager is great for reproducible dotfiles.

    • LucidNightmare
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Thank you so very much for your review. It helped me understand it a lot more than their webpage did! I’m a casual when it comes to Linux in that I just want to set it up, and never touch it again unless I get bored or have to. This sounds like a tinkerer’s dream OS, and that is awesome in itself. It’s just more technical than I have the time for right now.