guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How did you handle making a GNU/Linux distribution?


From: Sage Gerard
Subject: Re: How did you handle making a GNU/Linux distribution?
Date: Mon, 23 Aug 2021 12:48:44 +0000


I looked at the Xiden documentation and source code a bit,
and I couldn't find any actual package definitions, or how to make
any package definitions.  Where are the 'coreutils' and some text editors
like 'nano' or 'emacs' or 'vi' packaged for example? [...] Guix and Xiden could copy code and package definitions from each other
(after making some adaptations for Guile vs Racket and different interfaces),
though I wouldn't know how realistic that is in advancce.

I put these bits of your email together because I think they are related.

The system-level examples you are looking don't exist because Xiden is not fully bootstrapped. What I can do in the short-term is write a launcher that follows LFS, then verifies any artifacts used for the purpose. I wasn't satisfied with publishing that approach since it involves implicit trust in system level dependencies, but you can lean on the zero-trust default config and use ACLs on the small attack surface to mitigate risks there.

Until a Guile/Racket bridge is formed as Phillip described, or until GNU Mes is adapted to target Racket, I do not feel comfortable distributing system-level binaries using Xiden. It's easy for a user to write a launcher to use them, though. That's why I put so much focus on writing launchers that define a contract between your chosen data sources and your subjective _expression_ of dependencies. Package definitions are subservient to this approach, because as an abstraction, they sit between the subsystem that fetches and verifies data, and the subsystem that understands what a user means when they ask to install a dependency. The latter is the launcher's job, and I often use one to generate package definitions, find integrity information, trust certs, etc.

The end of the guide directs you to example launchers, which set rules for how package definitions work in the context of those launchers. The early examples are just toy demos, but later ones handle things like a particular self-hosting approach, and managing multiple versions of Racket installations.

> Hyperlinks in the manual aren't working:

Let me know which ones in a Github issue? The Racket community shares a Racket installation for online docs, and I occasionally run into problems with the generated links. Sometimes its CI related, sometimes its because I didn't type a Scribble form exactly right. The docs are all present at least. Entry point links follow for convenience.

https://docs.racket-lang.org/xiden-guide/index.html
https://docs.racket-lang.org/xiden-white-paper/index.html
https://docs.racket-lang.org/xiden-reference/index.html

Is this GPL-version-3-only or GPL-version-3-or-later?

Currently 3. I didn't add "or later" (yet) because I don't understand the social and legal consequences of doing so, even when new license versions are compatible. Happy to learn more here.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]