Subject: Re: bug#42920: conda 4.8.3 on guix cannot activate environments

From: Dominic Martinez <[email-masked]>
Date: Tue, 05 Apr 2022 10:50:46 -0400

>> On Wed, 18 Aug 2021 at 12:07, Ricardo Wurmus 
>> <[email-masked]> wrote:
>>> We have since upgraded to 4.10.3, but the problems still 
>>> persist. Conda still
>>> asks users to run “conda init”, which attempts to run “sudo” 
>>> to modify
>>> root-owned files.  It’s a big mess.

I don't think conda init will ever work on Guix, and it seems out 
of scope to try and prevent Conda from prompting users to do 
that. I was able to get conda working with the following steps:

1. Expose the glibc interpreter so that conda python can function
#+begin_src scheme
(extra-special-file "/lib64/ld-linux-x86-64.so.2"
                       (file-append glibc 
                       "/lib/ld-linux-x86-64.so.2"))
#+end_src
2. Source the conda environment variables. I do this both in my 
profile (through home-shell-profile-service-type) and through my 
rc file for interactive shells, as I think I remember having 
problems not sourcing it in both.
#+begin_src scheme
(define-public (home-profile-service script)
  "Creates a service that sources a home profile.d script provided 
  by a package."
  (simple-service 'profile.d-service
                  home-shell-profile-service-type
                  `(,(plain-file
                      (string-append script "-profile")
                      (string-append "source 
                      ~/.guix-home/profile/etc/profile.d/" script 
                      ".sh")))))

(home-profile-service "conda")
#+end_src

#+begin_src shell
source ~/.guix-home/profile/etc/profile.d/conda.sh
#+end_src

I agree that this setup is not ideal, but I think that guix home 
has the promise of fixing a lot of these issues with home 
services! Hopefully in the near future we'll be able to turn these 
fixed into services for users.