Subject: [bug#77181] [PATCH v2 1/6] guix: Add shell completion directories.

From: Efraim Flashner <[email-masked]>
Date: Thu, 8 May 2025 12:08:51 +0300

I was away for most of April but now I'm back and can work on this
again.

On Tue, Apr 01, 2025 at 12:26:11PM +0200, Ludovic Courtès wrote:
> Hi Efraim,
> 
> Efraim Flashner <[email-masked]> skribis:
> 
> > * guix/utils.scm (bash-completion-dir, fish-completion-dir,
> > zsh-completion-dir, elvish-completion-dir, nu-completion-dir): New
> > variables.
> >
> > Change-Id: I076bd26a87f196a32fb9542cd8058fc1d2a12aa9
> 
> I think (guix utils) is not the right place for this.
> 
> How about (gnu packages shells)?  It’s OK *if and only if* these
> variables are only referenced from thunked fields: ‘arguments’,
> ‘inputs’, etc.

I searched the code for locations where we've been using these paths and
they're all inside gnu/packages.

Of the 5 shells, bash in in bash.scm, elvish isn't packaged, nushell is
in nushell.scm, and fish and zsh are in shells.scm.  I'm not sure it
makes sense to put the variables in shells.scm, we almost exclusively
have packages in gnu/packages.  The artwork repo has its own module at
guix/artwork and we moved the search paths to guix/search-paths so we
didn't have to import other modules to reuse search paths.  I think
these are closer to search-paths.scm in that we would use the variable
without needing the package.  At the same time they are kinda
search-paths for their specific shells, even if we don't need to declare
them with each shell.

> Please also fully spell out the variant names:
> ‘bash-completion-directory’, etc. (info "(guix) Formatting Code").

No problem.

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted