unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Integrate Guix GUI programs into foreign distro's desktop?
@ 2020-12-06 18:46 Hartmut Goebel
  2020-12-06 19:41 ` Jérémy Korwin-Zmijowski
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Hartmut Goebel @ 2020-12-06 18:46 UTC (permalink / raw)
  To: help-guix

Hi,

I'd like to use a Guix profile containing some GUI programs (esp.
ungoogle-chromium) as part of my foreign distro's desktop environment.

What is the correct way for doing so? What needs to be installed in the
profile to make this work smoothly?

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-06 18:46 Integrate Guix GUI programs into foreign distro's desktop? Hartmut Goebel
@ 2020-12-06 19:41 ` Jérémy Korwin-Zmijowski
  2020-12-06 23:27 ` Bonface M. K.
  2020-12-25 17:05 ` Hartmut Goebel
  2 siblings, 0 replies; 9+ messages in thread
From: Jérémy Korwin-Zmijowski @ 2020-12-06 19:41 UTC (permalink / raw)
  To: help-guix, Hartmut Goebel, help-guix

Have you encounter issues yet?

Jérémy
-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-06 18:46 Integrate Guix GUI programs into foreign distro's desktop? Hartmut Goebel
  2020-12-06 19:41 ` Jérémy Korwin-Zmijowski
@ 2020-12-06 23:27 ` Bonface M. K.
  2020-12-07  7:58   ` Hartmut Goebel
  2020-12-25 17:05 ` Hartmut Goebel
  2 siblings, 1 reply; 9+ messages in thread
From: Bonface M. K. @ 2020-12-06 23:27 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1166 bytes --]


Hi Hartmut!

Hartmut Goebel <h.goebel@crazy-compilers.com>
writes:

> Hi,
>
> I'd like to use a Guix profile containing some GUI programs (esp.
> ungoogle-chromium) as part of my foreign distro's desktop environment.
>

You'd just run "guix install <pkg-name>". FWIW, I
use Guix as my daily driver(but running on
ArchLinux)

> What is the correct way for doing so? What needs to be installed in the
> profile to make this work smoothly?

What I do is to ensure that I have the path to the
Guix binaries configured properly:

--8<---------------cut here---------------start------------->8---
export PATH="$HOME/.config/guix/current/bin:$HOME/.local/bin:$PATH"
--8<---------------cut here---------------end--------------->8---

Best to have that as part of your .zshrc or
.bashrc file. So whenever you install the GUI
apps(for example-- in my case-- I use Emacs), your
system first checks for it in your guix path.

HTH!
-- 
Bonface M. K. <https://www.bonfacemunyoki.com>
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-06 23:27 ` Bonface M. K.
@ 2020-12-07  7:58   ` Hartmut Goebel
  2020-12-07 11:32     ` Bonface M. K.
  2020-12-07 14:13     ` John Soo
  0 siblings, 2 replies; 9+ messages in thread
From: Hartmut Goebel @ 2020-12-07  7:58 UTC (permalink / raw)
  To: Bonface M. K.; +Cc: help-guix

Hi,
> What I do is to ensure that I have the path to the
> Guix binaries configured properly:
>
> --8<---------------cut here---------------start------------->8---
> export PATH="$HOME/.config/guix/current/bin:$HOME/.local/bin:$PATH"

Thanks, anyhow this does not lock like what I' seeking. I want to add 
GUI programm, which are isntalled in a profile, while your example only 
adds guix itself - not any profile.

And what about not GUIC_LOC_PATH,  XDG_*_DIRS,  and all the other 
env-vars. How to avoid conflicts with QTDIRS5, QT_PLUGIN_PATH?

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-07  7:58   ` Hartmut Goebel
@ 2020-12-07 11:32     ` Bonface M. K.
  2020-12-24 14:25       ` Hartmut Goebel
  2020-12-07 14:13     ` John Soo
  1 sibling, 1 reply; 9+ messages in thread
From: Bonface M. K. @ 2020-12-07 11:32 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1793 bytes --]

Hartmut Goebel <h.goebel@crazy-compilers.com>
writes:

> Hi,
>> What I do is to ensure that I have the path to the
>> Guix binaries configured properly:
>>
>> --8<---------------cut here---------------start------------->8---
>> export PATH="$HOME/.config/guix/current/bin:$HOME/.local/bin:$PATH"
>
> Thanks, anyhow this does not lock like what I'
> seeking. I want to add GUI programm, which are
> isntalled in a profile, while your example only
> adds guix itself - not any profile.
>

In that case, you'd just modify the path to point
to your profile's bin. Another way would be to
source the <your-profile>/etc/profile which
basically set's all these paths for you.

> And what about not GUIC_LOC_PATH,  XDG_*_DIRS, 
> and all the other env-vars. How to avoid conflicts
> with QTDIRS5, QT_PLUGIN_PATH?

See above.

Wrt QT, I'm not exactly sure how to help with
that. I barely use applications that use QT(most
of the things I run use GTK). I can see that GTK
is somewhat set:

--8<---------------cut here---------------start------------->8--
-
➜  ~ less ~/.guix-profile/etc/profile | grep GTK
export
GUIX_GTK3_PATH="${GUIX_PROFILE:-/gnu/store/36cyb6ndkdd2r9v2fhra68yzdnc89sk3-profile}/lib/gtk-3.0${GUIX_GTK3_PATH:+:}$GUIX_GTK3_PATH"

--8<---------------cut here---------------end--------------->8---

The variables defined in the
<my-profile>/etc/profile set the correct paths wrt
your actual profile...

I'm not sure if I was helpful... perhaps someone
else who uses QT applications could chime in and
provide some hints.

-- 
Bonface M. K. <https://www.bonfacemunyoki.com>
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-07  7:58   ` Hartmut Goebel
  2020-12-07 11:32     ` Bonface M. K.
@ 2020-12-07 14:13     ` John Soo
  1 sibling, 0 replies; 9+ messages in thread
From: John Soo @ 2020-12-07 14:13 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: help-guix, Bonface M. K.

     Hey Hartmut, 

 
You may want to look into wrap-program which is used in many packages. Similar things are done I. The glib-or-gtk-build-system (I think it is called).  
 

 
Hope that helps,
 

 
John
     

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-07 11:32     ` Bonface M. K.
@ 2020-12-24 14:25       ` Hartmut Goebel
  2020-12-24 17:43         ` Bonface M. K.
  0 siblings, 1 reply; 9+ messages in thread
From: Hartmut Goebel @ 2020-12-24 14:25 UTC (permalink / raw)
  To: Bonface M. K.; +Cc: help-guix

Am 07.12.20 um 12:32 schrieb Bonface M. K.:
> In that case, you'd just modify the path to point
> to your profile's bin. Another way would be to
> source the <your-profile>/etc/profile which
> basically set's all these paths for you.

This is what I would expect, but this is not the case. E.g. when 
installing "dino", a GTK application providing .desktop file, 
XDG_DATA_DIRS is not defined in $GUIX_ENVIRONMENT/etc/profile (same for 
a profile)

$ guix environment --ad-hoc dino

# Proof dino "somehow" has a search-path definition
$ grep -E 'XDG|GTK' $(which dino)
export XDG_DATA_DIRS=…
export GTK_PATH=…

# Proof environment has a "share" directory and there are .desktop files
$ ls -F $GUIX_ENVIRONMENT
bin@  etc/  include@  lib/  manifest  share/
$ ls -F $GUIX_ENVIRONMENT/share/applications/
im.dino.Dino.desktop@  mimeinfo.cache@

# Proof XDG_DATA_DIR is not set for the environment
$ grep -E 'XDG|GTK' $GUIX_ENVIRONMENT/etc/profile
$  # no results


> Wrt QT, I'm not exactly sure how to help with
> that. I barely use applications that use QT(most
> of the things I run use GTK).

As shown above, this does not always hold even for GTK applications.


> The variables defined in the
> <my-profile>/etc/profile set the correct paths wrt
> your actual profile...

Have you installed gtk+ in your profile? This package is the one 
defining search-path GUIX_GTK3_PATH.

(When installing gtk+ in my environment/profile, I also get 
GUIX_GTK3_PATH defined. gtk+ propagates atk, which propagates glib, 
which defines search-path XDG_DATA_DIR - which is why XDG_DATA_DIR is 
also defined in the etc/profile.)


-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-24 14:25       ` Hartmut Goebel
@ 2020-12-24 17:43         ` Bonface M. K.
  0 siblings, 0 replies; 9+ messages in thread
From: Bonface M. K. @ 2020-12-24 17:43 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 876 bytes --]

Hartmut Goebel <h.goebel@crazy-compilers.com>
writes:

[...]

>> The variables defined in the
>> <my-profile>/etc/profile set the correct paths wrt
>> your actual profile...
>
> Have you installed gtk+ in your profile? This
> package is the one defining search-path
> GUIX_GTK3_PATH.
>

Unfortunately nope. I don't think I can be of any
help in this case. Perhaps someone else can chime
in ...

> (When installing gtk+ in my environment/profile, I
> also get GUIX_GTK3_PATH defined. gtk+ propagates
> atk, which propagates glib, which defines
> search-path XDG_DATA_DIR - which is why
> XDG_DATA_DIR is also defined in the etc/profile.)

-- 
Bonface M. K. <https://www.bonfacemunyoki.com>
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
GPG Key: D4F09EB110177E03C28E2FE1F5BBAE1E0392253F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Integrate Guix GUI programs into foreign distro's desktop?
  2020-12-06 18:46 Integrate Guix GUI programs into foreign distro's desktop? Hartmut Goebel
  2020-12-06 19:41 ` Jérémy Korwin-Zmijowski
  2020-12-06 23:27 ` Bonface M. K.
@ 2020-12-25 17:05 ` Hartmut Goebel
  2 siblings, 0 replies; 9+ messages in thread
From: Hartmut Goebel @ 2020-12-25 17:05 UTC (permalink / raw)
  To: help-guix

Am 06.12.20 um 19:46 schrieb Hartmut Goebel:
> What is the correct way for doing so? What needs to be installed in the
> profile to make this work smoothly?

I made it work by adding the follwing code to ~/.bash_profile. This also
handles other env-vars and also the case one is running a login-shell in
an environment.

if [ -n "$GUIX_ENVIRONMENT" ] ; then
    # should only come here if a login-shell is started within a guix
environ
    _guix_profile="$GUIX_ENVIRONMENT"
elif [ -z "$GUIX_PROFILE" -a -r "$HOME/.guix-profile" ] ; then
    _guix_profile="$HOME/.guix-profile"
elif [ -n "$GUIX_PROFILE" -a -r "$GUIX_PROFILE" ] ; then
    _guix_profile="$GUIX_PROFILE"
fi
if [ -n "$_guix_profile" ] ; then
    source "$_guix_profile/etc/profile"
    if [ -r "$_guix_profile/lib/locale" ] ; then
        export
GUIX_LOCPATH="$_guix_profile/lib/locale${GUIX_LOCPATH:+:}$GUIX_LOCPATH"
    fi
    if [ -r "$_guix_profile/share" ] ; then
        export
XDG_DATA_DIRS="$_guix_profile/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"
    fi
    if [ -r "$_guix_profile/etc/ssl/certs/ca-certificates.crt" ] ; then
        export SSL_CERT_DIR="$_guix_profile/etc/ssl/certs"
        export
SSL_CERT_FILE="$_guix_profile/etc/ssl/certs/ca-certificates.crt"
        export GIT_SSL_CAINFO="$SSL_CERT_FILE"
    fi
fi
unset _guix_profile

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-12-25 17:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-06 18:46 Integrate Guix GUI programs into foreign distro's desktop? Hartmut Goebel
2020-12-06 19:41 ` Jérémy Korwin-Zmijowski
2020-12-06 23:27 ` Bonface M. K.
2020-12-07  7:58   ` Hartmut Goebel
2020-12-07 11:32     ` Bonface M. K.
2020-12-24 14:25       ` Hartmut Goebel
2020-12-24 17:43         ` Bonface M. K.
2020-12-07 14:13     ` John Soo
2020-12-25 17:05 ` Hartmut Goebel

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).