Subject: bug#63009: closed (Re: bug#63009: <guix-home>/profile/bin missing from PATH for ssh commands)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 12 May 2023 08:03:02 +0000

Your bug report

#63009: <guix-home>/profile/bin missing from PATH for ssh commands

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
63009: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63009
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#63009: <guix-home>/profile/bin missing from PATH for ssh commands
From: Janneke Nieuwenhuizen <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Fri, 12 May 2023 10:02:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès writes:

Hello,

> This patch had fallen through the cracks…

Ah, no problem.

> Janneke Nieuwenhuizen <[email-masked]> skribis:
>
>>>>From 2ac41477dad5699b748acfc72d4e91e0e14fa16a Mon Sep 17 00:00:00 2001
>> From: Janneke Nieuwenhuizen <[email-masked]>
>> Date: Sat, 22 Apr 2023 09:58:48 +0200
>> Subject: [PATCH] gnu: system: Cater for Guix Home in PATH.
>>
>> * gnu/system.scm (operating-system-etc-service): Also add a user's
>> <guix-home>/profile/bin directory to PATH, before <guix-profile>/bin.
>
> LGTM, thanks!

Great, pushed to master as

    ff2e22d1e122eb5b85fd85f8e922e6e8cfb0ee7b

Janneke

-- 
Janneke Nieuwenhuizen <[email-masked]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

Subject: <guix-home>/profile/bin missing from PATH for ssh commands
From: Janneke Nieuwenhuizen <[email-masked]>
To: [email-masked]
Date: Sat, 22 Apr 2023 10:19:45 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Yesterday I updated my account on our 'kluit' server to use guix home,
and found that broke pushing to my git archives.  Apparently, my git
installed as a guix home package is not seen for ssh commands.

--8<---------------cut here---------------start------------->8---
$ ssh kluit type -p git
[1]10:13:59 janneke@drakenpad:~
$ ssh kluit echo '$PATH'
/run/setuid-programs:/home/janneke/.config/guix/current/bin:/home/janneke/.guix-profile/bin:/run/current-system/profile/bin:/run/current-system/profile/sbin
--8<---------------cut here---------------end--------------->8---

See?  Although there is no "/home/janneke/.guix-profile/bin", it is
still present in PATH, while "/home/janneke/.guix-home/profile/bin" is
missing!

Also (re-)installing git in my home profile again (ugh!) is a workaround
to fix this:

--8<---------------cut here---------------start------------->8---
$ ssh kluit type -p git
/home/janneke/.guix-profile/bin/git
10:14:52 janneke@drakenpad:~
--8<---------------cut here---------------end--------------->8---

The attached patch has a fix for this.  WYDT?

Greetings,
Janneke

>From 2ac41477dad5699b748acfc72d4e91e0e14fa16a Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <[email-masked]>
Date: Sat, 22 Apr 2023 09:58:48 +0200
Subject: [PATCH] gnu: system: Cater for Guix Home in PATH.

* gnu/system.scm (operating-system-etc-service): Also add a user's
<guix-home>/profile/bin directory to PATH, before <guix-profile>/bin.
---
 gnu/system.scm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index c17c6e4e98..df1e4e8640 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2020, 2021 Brice Waegeneire <[email-masked]>
 ;;; Copyright © 2020 Florian Pelz <[email-masked]>
 ;;; Copyright © 2020, 2022 Maxim Cournoyer <[email-masked]>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <[email-masked]>
+;;; Copyright © 2020, 2023 Jan (janneke) Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2020, 2022 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2021 Maxime Devos <[email-masked]>
 ;;; Copyright © 2021 raid5atemyhomework <[email-masked]>
@@ -1037,8 +1037,11 @@ (define* (operating-system-etc-service os)
   export `cat /etc/environment | cut -d= -f1`
 fi
 
-# Arrange so that ~/.config/guix/current comes first.
-for profile in \"$HOME/.guix-profile\" \"$HOME/.config/guix/current\"
+# Arrange so that ~/.config/guix/current comes first,
+# and guix-home comes before guix-profile.
+for profile in \"$HOME/.guix-profile\"        \\
+               \"$HOME/.guix-home/profile\"   \\
+               \"$HOME/.config/guix/current\"
 do
   if [ -f \"$profile/etc/profile\" ]
   then
-- 
2.39.2

-- 
Janneke Nieuwenhuizen <[email-masked]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com