help-guix
[Top][All Lists]
Advanced

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

Re: Cannot build personal channel derivation during guix pull


From: Parnikkapore
Subject: Re: Cannot build personal channel derivation during guix pull
Date: Sun, 28 Jan 2024 00:27:23 +0700
User-agent: Evolution 3.44.4-0ubuntu2

On Fri, 2024-01-26 at 22:32 +0100, Marek Paśnikowski wrote:
> 
> I have experimentally, in three reproduction cycles, found out the following 
> <br>
> "Laws of Guix Channel":

Glad to hear that you have figured it out! Sorry about not emailling you 
earlier.

That "import a local directory with secrets" trick seems like a nice one to 
have in the bag!

There's an extra law of Guix channels: all files within the file tree whose 
name ends with .scm must be runnable in the build environment (i.e. no network, 
no access to e.g. your home directory, etc.). This means that `guix repl -L 
$FILE_TREE_ROOT $FILE_TREE_ROOT/any/file.scm` must run and terminate without 
throwing any unhandled exceptions. (passing this test doesn't guarantee that it 
will work, however.)

I'm not sure if having .scm files that are not modules within the file tree 
would themselves cause a problem, but doing so is definitely unsupported 
territory.

One more thing: the root of the "file tree" need not be the root of the Git 
repo; it can be a subdirectory inside the repo. See 
https://guix.gnu.org/manual/devel/en/html_node/Package-Modules-in-a-Sub_002ddirectory.html
 . In fact, this might be a more appropriate solution for your monorepo - see 
https://guix.gnu.org/en/blog/2023/from-development-environments-to-continuous-integrationthe-ultimate-guide-to-software-development-with-guix/
 for an example.

reply via email to

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