HNHacker News
TopNewBestAskShowJobs

civodul

254 karma · joined February 24, 2013

submissionscomments
civodul··on Flatpak – Standalone Apps for Linux
Agreed. GNU Guix makes it easy for anyone to publish a bunch of package recipes for their own software that users just need to add to their GUIX_PACKAGE_PATH.

The benefit is that it integrates with the rest of the system and thus shares software updates, storage space, and gets overall features such as isolated builds and transactional upgrades and rollback.

civodul··on Flat Tree Dependency Resolution in Npm v3
I find that Spack in fact takes very little inspiration from functional package managers, Nix and GNU Guix. Dependencies are specified in a loose fashion which, on one hand, gives a lot of flexibility, but on the other hand is detrimental to reproducibility.

More importantly, part of the dependency graph, including compilers, is treated specially and essentialy considered outside of the scope of Spack. This seriously hinders reproducibility, as we tried to explain in https://hal.inria.fr/hal-01161771/en .

civodul··on Bootstrapping trust in compilers
This is one of the discussions we had at the Reproducible Builds Summit last week: https://lists.gnu.org/archive/html/guix-devel/2015-12/msg001... .

In GNU Guix, we don't go as far as the author suggests (starting from a FORTH-like VM, then building a small Lisp, etc.), but we've been thinking about going in that direction: We already have Guile Scheme at the bottom, with which we can implement a range of tools, ranging from HTTP/FTP clients to ELF parsers, and more. We could imagine having (possibly feature-limited) variants of some of the bootstrap tools, written in Scheme, for the purpose of building the "real" tools.

Our current bootstrap looks like this: https://www.gnu.org/software/guix/manual/html_node/Bootstrap... .

civodul··on Environment containers in GNU Guix
Note that Guix also supports lightweight development environments in containers, via user name spaces: http://www.gnu.org/software/guix/manual/html_node/Invoking-g... .

This is in addition to whole-system containers: http://www.gnu.org/software/guix/manual/html_node/Invoking-g... .

civodul··on GNU Guix 0.9.0 released – Functional package manager and distribution
Free software aims to safeguard the freedom and autonomy of computer users. I think these are important features.
civodul··on GNU Guix 0.9.0 released – Functional package manager and distribution
The "substitutes" (pre-built binaries) are signed: http://www.gnu.org/software/guix/manual/html_node/Substitute... . We use a SPKI-style PKI: http://www.gnu.org/software/guix/manual/html_node/Invoking-g... .

The package recipes themselves are in a Git repo, which has signed release tags (but not signed commits.)

Lastly, the new 'guix challenge' command helps users check whether binaries provided by a server genuinely come from the source it claims to have built. See http://www.gnu.org/software/guix/manual/html_node/Invoking-g... .

civodul··on GNU Guile site redesign
Another lot of Guix devs use GuixSD, I think. ;-)
civodul··on GNU Guix 0.9.0 released – Functional package manager and distribution
As far as I know nobody has tried so far, but that would be cool.
civodul··on GNU Guix 0.9.0 released – Functional package manager and distribution
Guix indeed has a strong commitment to user freedom, which makes it a different project.

Technically, I don't see it as "duplicating" Nix: Guix uses low-level parts of Nix that are awesome, and replaces higher-level layers with a more integrated and unified system. See https://arxiv.org/abs/1305.4584 for the technical rationale or the video on the home page on the concrete impact of those differences. Hacking GuixSD is a very different experience, I think!

(Disclaimer: I maintain Guix and I'm a former NixOS hacker.)

civodul··on GNU Guix 0.9.0 released – Functional package manager and distribution
The future is what we make it. :-)
civodul··on GNU Guix ported to ARM and other niceties of the new year
I've been using it (disclaimer: I've even been hacking on it. ;-)) The standalone Guix-based distribution uses dmd as its init system.

The way it is used, dmd itself takes care exclusively of keeping services running. Services themselves are "translated" to for dmd's configuration file from their higher-level definition (see http://www.gnu.org/software/guix/manual/html_node/Defining-S... ).

The nice thing is that service actions are written in Scheme so they can do anything. For instance, 'static-networking-service' at http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/... uses directly the right ioctls to set up the network; so does 'file-system-service' at http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/... and so on.

civodul··on Boot-to-Guile
Modulo the bug at http://sourceware.org/bugzilla/show_bug.cgi?id=15022 it's possible to dlopen symbols from the static binary.

However, all libc symbols not used by Guile are omitted from the resulting static binary, which is why the FFI is not an option. (This is independent of Guile or the libc brand.)

As for the size, the initrd is less than 5 MiB (the 'guile' binary is less than 4 MiB).

← PreviousPage 3 of 3