unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Gary Johnson <lambdatronic@disroot.org>
To: Gottfried <gottfried@posteo.de>
Cc: help-guix@gnu.org
Subject: Re: Help-Guix Digest, Vol 88, Issue 4
Date: Tue, 21 Mar 2023 10:42:56 -0400	[thread overview]
Message-ID: <87v8iui28p.fsf@disroot.org> (raw)
In-Reply-To: <1ebe7b6b-d5d1-5f5f-8688-35f2556e6a3f@posteo.de>

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

-- 
Protect yourself from surveillance: https://emailselfdefense.fsf.org
=======================================================================
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

Why is HTML email a security nightmare? See https://useplaintext.email/

Please avoid sending me MS-Office attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html


  reply	other threads:[~2023-03-21 14:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.81.1677776445.12246.help-guix@gnu.org>
2023-03-05  8:44 ` Help-Guix Digest, Vol 88, Issue 4 Gottfried
2023-03-05 10:07   ` Wojtek Kosior via
2023-03-05 13:27     ` Gottfried
2023-03-06  1:35   ` Gary Johnson
2023-03-07 16:15     ` Gottfried
2023-03-08  1:58       ` 宋文武
2023-03-20  7:04     ` Gottfried
2023-03-21 14:42       ` Gary Johnson [this message]
2023-04-07 13:02         ` Gottfried
2023-04-07 14:31           ` I am sorry " Gottfried
2023-04-15  2:08             ` Tracker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v8iui28p.fsf@disroot.org \
    --to=lambdatronic@disroot.org \
    --cc=gottfried@posteo.de \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).