Announcement

Collapse
No announcement yet.

NixOS 15.09 Released: Ships Updated Desktops, Linux 3.18 Kernel

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Found the answers myself in http://nixos.org/nix/manual/

    "For most users, building from source is not very pleasant as it takes far too long. However, Nix can automatically skip building from source and instead use a binary cache, a web server that provides pre-built binaries. For instance, when asked to build /nix/store/b6gvzjyb2pg0?-firefox-33.1 from source, Nix would first check if the file https://cache.nixos.org/b6gvzjyb2pg0?.narinfo exists, and if so, fetch the pre-built binary referenced from there; otherwise, it would fall back to building from source." (Chapter 1. About Nix - Transparent source/binary deployment - Introduction)

    One can upload it's own builds to https://cache.nixos.org/ to other people use. (Chapter 13. Sharing Packages Between Machines)


    To think of: can you imagine the size of https://cache.nixos.org/ with a big number of users uploading binaries?

    Comment


    • #12
      Originally posted by sunrising View Post
      I am a long time user of Archlinux and recently put one of my machines on NixOS, so I can answer some questions.
      I am quite happy with it and didn't had any big problem so far. ....
      thx for all the infos. sounds like it is for advanced users... like an advanced gentoo with btrfs rollback capability while not using btrfs

      Comment


      • #13
        Originally posted by rudregues View Post
        Found the answers myself in http://nixos.org/nix/manual/

        One can upload it's own builds to https://cache.nixos.org/ to other people use. (Chapter 13. Sharing Packages Between Machines)


        To think of: can you imagine the size of https://cache.nixos.org/ with a big number of users uploading binaries?
        I believe that https://cache.nixos.org/ is reserved for packages built via the official build farm.
        But it is possible for a client to define custom binary cache servers, and any NixOS machine can be act as one with the nix-serve utility.
        A nice feature is the ability to copy a closure (a package and all its dependencies) via SSH like mentioned in the manual.

        Hydra, the build farm software used to compile nix packages seems very interesting.

        Comment


        • #14
          thx for all the infos. sounds like it is for advanced users... like an advanced gentoo with btrfs rollback capability while not using btrfs
          The rollbacks are handed in a simple manner, let's say you are using the unstable channel and after an unlucky update the network is not working.
          To fix the issue, you just have to reboot, and at boot selection screen select the latest - 1 configuration and NixOS will start with all the software at the state before the upgrade.

          The trick is that every time a system upgrade is made, a new configuration generation is stored and a boot entry for this configuration is added. (screenshot)

          Of course this system has some limitations, the main one being that files not managed by NixOS are not automatically reverted.
          So for example reverting a databases software to a previous version will not automatically change the schema of the databases.
          But if a configuration file for a package is managed by nix, and it is quite common, then the configuration will be reverted.

          Comment


          • #15
            Here is also a new blog entry about the sandboxed applications effort from Gnome.

            Comment


            • #16
              Originally posted by Kemosabe View Post
              Kernel 3.18?
              Is there some kind of bleeding-edge repository?
              I asked this same question on the NixOS subreddit awhile ago: https://www.reddit.com/r/NixOS/comme...cache_for_nix/

              Apparently there is a rolling-release binary cache channel. It's called 'unstable' but due to Nix's roll-back ability that doesn't sound like much of a concern and according to at least one user it's rather stable anyways. I think you can even choose to mix 'n match channels together so you can get your kernel/core from 'stable' and apps from 'unstable'.. but don't quote me on that.. I still have yet to switch to NixOS but am looking forward to the day I feel it's compelling enough to do so.

              All things considered Nix certainly sounds like the best of package-management to date. You have the flexibility of source-based packages when you need them + both a stable & rolling binary cache to avoid building the majority of your software. On top of that you apparently can't fuck things up beyond repair due to rollback, which should be a god-send for both desktops and servers.

              One thing I never liked about most Linux distributions compared to Windows is the delay in software.. on Windows you update when you want (of course this has many disadvantages too) vs popular Linux distros like Ubuntu/Fedora where you have to wait 6+ months and still don't end up the latest software you wanted (on the flip-side, Arch is up-to-date but sometimes breaks). I think Nix is the solution here.. I can imagine a Nix frontend GUI which would allow users to update/rollback specific software (or the entire system of course) with ease and without worry of breakage (again, due to rollback).. or even specify the exact version of the software they want, which might require building from source, but at least you'd have one universal and convenient way to manage everything. It would be the best of both worlds.

              Originally posted by Leomar View Post
              if two lib-versions are using the same config-file in /etc/... and you install both of them. But the new version has new config options in the config file which causes Problems when using the old lib. How can nix solve such Problems?
              This is something I would really like to know as well. I still haven't switched from Arch/Manjaro to NixOS yet mostly due to some software from the AUR I'd prefer not building myself, and some out-of-date software in the Nixpkg repos (namely Calligra Krita.. almost everything else is just as up-to-date as the Arch repos).

              Comment


              • #17
                Originally posted by F i L View Post
                This is something I would really like to know as well. I still haven't switched from Arch/Manjaro to NixOS yet mostly due to some software from the AUR I'd prefer not building myself, and some out-of-date software in the Nixpkg repos (namely Calligra Krita.. almost everything else is just as up-to-date as the Arch repos).
                NixOS can generate settings file in the package store, you can think at it like managing the settings as packages.

                For example, if when using MPD one defines in the configuration.nix file:

                Code:
                  services = {
                    mpd.enable = true;
                    mpd.extraConfig = ''
                      audio_output {
                        type     "pulse"
                        name     "MPD PulseAudio Output"
                      }
                    '';
                When updating the system nix will generate a dedicated config file in the store, for example /nix/store/fi967habny0qgl37f3lx1k85fw2brjzh-mpd.conf, containing the default configuration and the specified extra config.
                Then the generated configuration file will be automatically used by the mpd systemd unit.

                Comment


                • #18
                  Originally posted by Chewi View Post

                  Originally posted by ElectricPrism
                  If any user was solely interested in the package manager I would think Arch or Gentoo would offer superior selection.
                  As a Gentoo developer, I'm actually very curious about nixOS though not quite enough to try it right now. It sounds like a cleaner model, at least on paper, but I suspect it doesn't work quite so perfectly in practise. It's unconventional approach also makes it totally unlike any other distribution out there. This isn't necessarily a bad thing but I can imagine they have a lot of trouble with upstream assumptions about what a Linux system should look like.
                  Thanks for adding your insights to my own, I certainly welcome conflicting software design to contend in time for victory. Perhaps this model will triumph in due time.

                  Originally posted by sunrising View Post
                  I'm all for choice, but it's really difficult from the article and from the website nixos.org to gather what compelling reasons if any there are to use or care about nixos.
                  The about page on the official site is a good introduction to NixOS specificities. http://nixos.org/nixos/about.html

                  For me, the killer features are:
                  • ability to rollback the system at a previous version
                  • multiple versions of the same software at the same time
                  • declarative configuration
                  • nix-shell development environment
                  Thanks for adding clarity to my uninformed state, I certainly will keep an eye out for this distro in my news feed - it sounds like it'll make a interesting [ watch ].

                  Comment

                  Working...
                  X