From: Josh Marshall <joshua.r.marshall.1991@gmail.com>
To: Development of GNU Guix and the GNU System distribution
<guix-devel@gnu.org>
Subject: Re: [RFC] [Feature] In project `configuration.scm` allow dependencies to other repos with `configuration.scm`
Date: Tue, 19 Nov 2024 11:41:01 -0500 [thread overview]
Message-ID: <CAFkJGRdLYYwG9fVvFzrCbAkNCuRgwikcG=WE5c638dpodxTJJA@mail.gmail.com> (raw)
In-Reply-To: <ZzxoQulRwCcKCc33@3900XT>
This is a technical workaround, not direct support. If such a feature
is to be aimed at general developers and researchers, it can't be so
circuitous. The Invocation from any form of Guix installation needs to
be `guix shell` and just work.
https://guix.gnu.org/manual/en/guix.html#package_002ddevelopment_002dmanifest
Would need to be extended to take a URI and git reference for
individual dependencies.
On Tue, Nov 19, 2024 at 5:28 AM Efraim Flashner <efraim@flashner.co.il> wrote:
>
> On Mon, Nov 18, 2024 at 01:25:22PM -0500, Josh Marshall wrote:
> > Hello all,
> >
> > I have come across a use case that I don't find well addressed. If I
> > am not wrong (and I very well might be) it would be a feature which
> > could be of great use. First sent to a Nix channel, but I think the
> > same applies here.
> >
> > ```
> > I want to use git repos with Nix Flakes in them directly as if they
> > were package dependencies in another Flake. I can't seem to find good
> > documentation for this. Is it even a thing? The purpose is to improve,
> > but not impose perfection or slowdown, on developers or researchers as
> > they Nix-ify their projects. The application is that I have a root
> > project that needs to be put into a flake, which in turn has a number
> > of other projects which are not Nix packages but could feasibly add a
> > Nix Flake. The end goal is to be able to set up and package a project
> > such that the end result is as easy to replicate for others as
> > described here:
> > https://obscuratur-in-arena.readthedocs.io/en/latest/A-good-way-to-set-up-your-python-project-using-Nix-Direnv-and-Poetry.html
> > ```
> >
> > I regret that I must again be someone who just throws more work
> > demands into the ether. The whole "I am finite" thing.
>
> There are a number of projects (like shepherd) which are also setup to
> function as a channel. And Guix has the ability for channels to depend
> on other channels. So it would be possible to create a package in a
> channel which depended on a specific branch (or commit) of shepherd as
> it appeared upstream. Is that the type of thing you mean?
>
>
> --
> Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted
next prev parent reply other threads:[~2024-11-19 18:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-18 18:25 [RFC] [Feature] In project `configuration.scm` allow dependencies to other repos with `configuration.scm` Josh Marshall
2024-11-19 10:28 ` Efraim Flashner
2024-11-19 16:41 ` Josh Marshall [this message]
2024-11-20 21:45 ` Ludovic Courtès
2024-11-20 23:59 ` Josh Marshall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFkJGRdLYYwG9fVvFzrCbAkNCuRgwikcG=WE5c638dpodxTJJA@mail.gmail.com' \
--to=joshua.r.marshall.1991@gmail.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.