help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help-Guix Digest, Vol 88, Issue 4


From: Gottfried
Subject: Re: Help-Guix Digest, Vol 88, Issue 4
Date: Fri, 7 Apr 2023 13:02:29 +0000

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


--



Attachment: OpenPGP_0x61FAF349C9FB7F94.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]