Page 1 of 1

Modularity in another distros - GoboLinux, NixOS

Posted: 24 Feb 2016, 10:54
by tome
Advantages:

GoboLinux
Instead of having parts of a program thrown at /usr/bin, other parts at /etc and yet more parts thrown at /usr/share/something/or/another, each program gets its own directory tree, keeping them all neatly separated and allowing to see everything that's installed in the system and which files belong to which programs in a simple and obvious way.
Each program entry contains all files for that program, stored in a versioned subdirectory.
Multiple versions of a program can be maintained simultaneously. Default programs can be switched by "Current" symlink e.g. "Current -> 2.6.7".
There is no measured performance loss in using symbolic links.

http://gobolinux.org/index.php?page=at_a_glance
http://gobolinux.org/index.php?page=faq

NixOS
Building a new configuration cannot overwrite previous configurations. If the upgrade to a new configuration is interrupted the system will still be in a consistent state: it will either boot in the new configuration or an older version can be selected.
Rollbacks (e.g. from the system boot menu) are a lightweight operation that do not involve files to be restored from copies.
Every user can have a dedicated profile in which they can install packages - different users can have different versions of the same package installed in their respective profiles. If two users install the same version of a package, only one copy will be built or downloaded.
NixOS stores all packages in isolation from each other in the package store. Installed packages are identified by a cryptographic hash of all input used for their build. Changing the build instructions of a package, modifies its hash that will result in a different package installed in the package store. Most of this is done by symlink indirections to generated files in /nix/store/...

NixOS
https://nixos.org/wiki/Main_Page
http://nixos.org/~eelco/pubs/hotos-final.pdf
http://nixos.org/~eelco/pubs/atomic-hot ... -final.pdf

Maybe Porteus (modular distro) can adopt some solutions from these modular distros - without lost of performance and boot time).

Re: Modularity in another distros - GoboLinux, NixOS

Posted: 24 Feb 2016, 11:31
by fullmoonremix
Salutations... :good:

IMHO... :oops: these are sound concepts. It would be highly effective to incorporate them.
I think to implement them... would require an internal dedicated repository path (database?) approach.

That would help address redundancy and dependency hell issues.

Best Regards... :beer:

Re: Modularity in another distros - GoboLinux, NixOS

Posted: 24 Feb 2016, 12:10
by Bogomips
On the way to Porteus, tried to load GoboLinux. Could not even load it. :twisted:

Re: Modularity in another distros - GoboLinux, NixOS

Posted: 24 Feb 2016, 16:24
by francois
Thanks for these two good summaries tome. Great. :)

My experience with nix os was that it was not easy to implement and rather heavy and cumbersome. But maybe I did not tried enough persistently to appreciate this system.

Re: Modularity in another distros - GoboLinux, NixOS

Posted: 24 Feb 2016, 17:39
by Ed_P
It could be noted that GoboLinux is a 1.45 GB download and nixos 976 MB. And both taking about 30 mins to download.

Re: Modularity in another distros - GoboLinux, NixOS

Posted: 10 Mar 2016, 00:50
by port
Nix is a great package manager and also the free software counterpart guix with the advantage (for me at least) of using guile (scheme) as configuration language rather than DSL as nix does

But even with all advantages of a functional, declarative package manager with rollback capabilities I think it is overskilled to be used in porteus, it introduces a more complicated configuration with little profit since you can rollback packages with a simple deactivate (sure, package level rather than system level but easier for users and porteus seems to be focused to single user, so no complexity needed!) I think activate/deactivate of union fs packages gives porteus a KISS touch it should never loose, simple is better feeling is what makes porteus shine

But I think nix/guix bells and whistles can be achieved wich GNU Stow package manager which could give porteus interesting characteristics without innecesary complexity, it would be interesting to think how to add it to porteus developers' toolchain and also to user's one because it may be interesting in module building process (installing software prior to pack as module) and also to handle special porteus folders and even user folders (i.e. dotfiles)