Hi,
thanks a lot for sharing.
This helps a lot.
Without help of you and other hackers I would be lost.
............................................................
Those profiles I have got at the moment
gfp@Tuxedo ~$ guix package --list-profiles
/home/gfp/Projekte/Calibre/guix-profil
with one package Calibre
/home/gfp/Projekte/EmacsManifest/guix-profil
with one package Emacs
/home/gfp/Projekte/GNUCash/guix-profil,
with 2 packages:
Gnucash
homebank
/home/gfp/Projekte/Lilypond/guix-profil
with many packages:
lilypond,
mercurial,
timidity,
frescobaldi,
audio-to-midi,
libsmf,
ctrlr,
muse-sequencer,
fluidsynth,
fluida-lv2,
qsynth
/home/gfp/Projekte/Musescore/guix-profil
with one package Musescore 4.0.2 (current version)
/home/gfp/Projekte/Musik/guix-profil
with many packages:
ardour,
audacious,
audacity,
obs,
vlc
Musescore 3.6.2 (old version)
/home/gfp/Projekte/Photoflare/guix-profil
with 2 packages
photoflare
imagemagick
(later converseen, which is now in a own profile:
prefabricated by Csepp)
/home/gfp/Projekte/Scribus/guix-profil
with 2 packages:
scribus,
xournal
/home/gfp/.config/guix/current
/home/gfp/.guix-profile
-----------------------------------------------------------
Note that this may
lead to unpredictable behavior if you have the same package installed
into multiple profiles that are all activated simultaneously. My
recommendation is that you install each package into only one profile
when using this approach.
Now I have several problems with your approach.
1. I have more packages in one profile
2. Musescore has got an own profile,
but Musescore 3.6.2 (old version) is in the profile "Musik"
together with other packages, which should be upgraded.
But Musescore 3.6.2 should not be upgraded.
..................................................................
What can I now do, that I can activate multiple profiles at login time?
Is there a way to exclude the profile "Musik" because this profile I
have to upgrade with:
guix package -p /home/gfp/Projekte/Musik/guix-profil -m
/home/gfp/Projekte/Musik/musik.scm
or to add it in the script
....................................................................
Kind regards
Gottfried
Am 21.03.23 um 15:42 schrieb Gary Johnson:
Gottfried <gottfried@posteo.de> writes:
I have got now 3 profiles: EmacsManifest, Musescore, Musik
in: home/gfp/Projekte/
Now I want them to be activated at login time.
I still am not sure how to do that.
To activate multiple profiles at login time, I created a shell script
called `~/sys/scripts/activate-profiles.sh`, containing the following
code:
```
#!/bin/sh
GUIX_PROFILES=/home/gjohnson/sys/guix/profiles
for dir in $GUIX_PROFILES/*
do
name=$(basename "$dir")
profile=$dir/$name
if [ -f "$profile"/etc/profile ]
then
GUIX_PROFILE="$profile"
. "$GUIX_PROFILE"/etc/profile
export MANPATH="$GUIX_PROFILE/share/man${MANPATH:+:}$MANPATH"
export
INFOPATH="$GUIX_PROFILE/share/info${INFOPATH:+:}$INFOPATH"
fi
unset profile
unset name
done
```
Next, I added a `source` line to my `~/.bash_profile` file, which loads
the `activate-profiles.sh` script when I enter a login shell. This
script is also run when you log in to your graphical desktop session in
Guix.
```
# Activate all of my Guix profiles
source ~/sys/scripts/activate-profiles.sh
```
For you to use this approach, you should do the following:
1. Replace `GUIX_PROFILES=/home/gjohnson/sys/guix/profiles` in my
`activate-profiles.sh` script with your profile directory, which
seems to be this:
`GUIX_PROFILES=/home/gfp/Projekte`
2. Place the `activate-profiles.sh` script somewhere in your home
directory.
3. Replace `~/sys/scripts/activate-profiles.sh` in `~/.bash_profile`
with the path to `activate-profiles.sh` on your system.
If you use `guix home`, you can certainly add the `source` line to
`~/.bash_profile` that way.
2. after that, could I uninstall the package emacs in my main profile?
Will my Emacs-manifest profile still be usable/is it independent, or
it will suffer through uninstalling emacs in my main profile?
With this code in place, whenever you log in to your machine, you will
have access to all the packages in your main user profile as well as all
the packages in your /home/gfp/Projekte profiles. Note that this may
lead to unpredictable behavior if you have the same package installed
into multiple profiles that are all activated simultaneously. My
recommendation is that you install each package into only one profile
when using this approach.
My aim was to uninstall packages in my main profile and put them in
separate profiles, so in updating my main profile with less packages
it doesn’t take so much time.
Yes, that is precisely the purpose of this approach.
Happy hacking!
Gary