[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.