unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GUI for Guix
@ 2023-09-30 16:07 Adam Faiz
  2023-09-30 17:08 ` jbranso
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Adam Faiz @ 2023-09-30 16:07 UTC (permalink / raw)
  To: guix-devel; +Cc: dannym

Hi everyone,

There are currently 4(maybe more?) different approaches for a Guix GUI:
1. Guix backend for PackageKit (https://issues.guix.gnu.org/17152)
2. A GTK program written by Danny Milosavljevic in Guile (https://gitlab.com/daym/guix-gui/)
3. A Qt program written for a non-FSDG distro downstream of Guix System (https://git.pantherx.org/development/applications/px-software)
4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)

Which of these should be worked on? I tried packaging guix-gui, but it doesn't work without the workaround mentioned in the README.
I think packaging it should wait until the guile-gi bug[1] is fixed.

[1]: https://github.com/spk121/guile-gi/issues/96


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

* Re: GUI for Guix
  2023-09-30 16:07 Adam Faiz
@ 2023-09-30 17:08 ` jbranso
  2023-10-02 18:52   ` Thompson, David
  2023-10-01 20:52 ` Ricardo Wurmus
  2023-10-04 15:52 ` Ludovic Courtès
  2 siblings, 1 reply; 12+ messages in thread
From: jbranso @ 2023-09-30 17:08 UTC (permalink / raw)
  To: Adam Faiz, guix-devel; +Cc: dannym

September 30, 2023 10:09 AM, "Adam Faiz" <adam.faiz@disroot.org> wrote:

> Hi everyone,
> 
> There are currently 4(maybe more?) different approaches for a Guix GUI:
> 1. Guix backend for PackageKit (https://issues.guix.gnu.org/17152)
> 2. A GTK program written by Danny Milosavljevic in Guile (https://gitlab.com/daym/guix-gui)
> 3. A Qt program written for a non-FSDG distro downstream of Guix System
> (https://git.pantherx.org/development/applications/px-software)
> 4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)
> 
> Which of these should be worked on? I tried packaging guix-gui, but it doesn't work without the
> workaround mentioned in the README.
> I think packaging it should wait until the guile-gi bug[1] is fixed.
> 
> [1]: https://github.com/spk121/guile-gi/issues/96

I believe that there is a web interface for this as well that Dave Thompson wrote. Anyone have a
link to that source code?

I encourage someone to write a guix specific channel that packages one of these, so that it is easy
for anyone to try to use these tools. Maybe the #whereiseveryone community can include it in
guixrus channel. Or maybe a guix blog, or TODO list that mentions these tools.


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

* Re: GUI for Guix
  2023-09-30 16:07 Adam Faiz
  2023-09-30 17:08 ` jbranso
@ 2023-10-01 20:52 ` Ricardo Wurmus
  2023-10-02 20:25   ` Suhail Singh
  2023-10-04 15:49   ` Ludovic Courtès
  2023-10-04 15:52 ` Ludovic Courtès
  2 siblings, 2 replies; 12+ messages in thread
From: Ricardo Wurmus @ 2023-10-01 20:52 UTC (permalink / raw)
  To: Adam Faiz; +Cc: dannym, guix-devel


Adam Faiz <adam.faiz@disroot.org> writes:

> 4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)

The last message in that issue discussion is mine:

    FWIW M-x guix-installed-packages (and all the other stuff) works for me

Is it *actually* broken?  If it is and you can provide information on
how to trigger the broken behavior we might be a step closer to fixing
it.

-- 
Ricardo


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

* Re: GUI for Guix
@ 2023-10-02  8:53 Adam Faiz
  2023-10-02 15:08 ` Ricardo Wurmus
  0 siblings, 1 reply; 12+ messages in thread
From: Adam Faiz @ 2023-10-02  8:53 UTC (permalink / raw)
  To: rekado; +Cc: guix-devel

> The last message in that issue discussion is mine:

>    FWIW M-x guix-installed-packages (and all the other stuff) works for me

> Is it *actually* broken?  If it is and you can provide information on
how to trigger the broken behavior we might be a step closer to fixing
it.

I assumed that M-x guix-installed-packages already worked, so I wanted to test the main menu instead.

I did the following steps:
1. M-x guix
2. Chose 'packages' by pressing p
3. Go to the search by pressing s

I can't paste the error anytime soon since I don't have my laptop with me, but I remember that there was a REPL error with something being undefined.


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

* Re: GUI for Guix
  2023-10-02  8:53 GUI for Guix Adam Faiz
@ 2023-10-02 15:08 ` Ricardo Wurmus
  2023-10-03  9:00   ` Daniel Meißner
  0 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2023-10-02 15:08 UTC (permalink / raw)
  To: Adam Faiz; +Cc: guix-devel


Adam Faiz <adam.faiz5990@gmail.com> writes:

>> The last message in that issue discussion is mine:
>
>>    FWIW M-x guix-installed-packages (and all the other stuff) works for me
>
>> Is it *actually* broken?  If it is and you can provide information on
> how to trigger the broken behavior we might be a step closer to fixing
> it.
>
> I assumed that M-x guix-installed-packages already worked, so I wanted to test the main menu instead.
>
> I did the following steps:
> 1. M-x guix
> 2. Chose 'packages' by pressing p
> 3. Go to the search by pressing s

This works for me.  It starts the REPL in the background and shows me a
long list of packages.

-- 
Ricardo


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

* Re: GUI for Guix
  2023-09-30 17:08 ` jbranso
@ 2023-10-02 18:52   ` Thompson, David
  0 siblings, 0 replies; 12+ messages in thread
From: Thompson, David @ 2023-10-02 18:52 UTC (permalink / raw)
  To: Joshua Branson; +Cc: Adam Faiz, guix-devel, Danny Milosavljevic

On Sat, Sep 30, 2023 at 1:08 PM <jbranso@dismail.de> wrote:
>
> September 30, 2023 10:09 AM, "Adam Faiz" <adam.faiz@disroot.org> wrote:
>
> > Hi everyone,
> >
> > There are currently 4(maybe more?) different approaches for a Guix GUI:
> > 1. Guix backend for PackageKit (https://issues.guix.gnu.org/17152)
> > 2. A GTK program written by Danny Milosavljevic in Guile (https://gitlab.com/daym/guix-gui)
> > 3. A Qt program written for a non-FSDG distro downstream of Guix System
> > (https://git.pantherx.org/development/applications/px-software)
> > 4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)
> >
> > Which of these should be worked on? I tried packaging guix-gui, but it doesn't work without the
> > workaround mentioned in the README.
> > I think packaging it should wait until the guile-gi bug[1] is fixed.
> >
> > [1]: https://github.com/spk121/guile-gi/issues/96
>
> I believe that there is a web interface for this as well that Dave Thompson wrote. Anyone have a
> link to that source code?

It's here: https://git.dthompson.us/guix-web/

I wrote it in 2015... surely pretty bitrotten by now.  It was
basically just a web viewer for the package collection.  Would likely
perform terribly given the number of packages in Guix now.  IIRC
Ricardo used it for some experiment of his own, too.

A web-based UI for simply managing packages in user profiles might be
cool, if it can be done securely.

- Dave


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

* Re: GUI for Guix
  2023-10-01 20:52 ` Ricardo Wurmus
@ 2023-10-02 20:25   ` Suhail Singh
  2023-10-04 15:49   ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Suhail Singh @ 2023-10-02 20:25 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: Adam Faiz, dannym, guix-devel

Ricardo Wurmus <rekado@elephly.net> writes:

> Is it *actually* broken?  If it is and you can provide information on
> how to trigger the broken behavior we might be a step closer to fixing
> it.

I believe it's unclear how to ensure that it is configured
correctly. I.e., I believe the package mostly works when configured
correctly, but what the correct configuration is is unclear. It also
doesn't help that the discussions are fragmented across Gitlab,
issues.guix.gnu.org , IRC, and, now, this mailing list.

FWIW, I'll note below some things I tried and my observations below.

guix shell -C --no-cwd --expose=/gnu --expose=/var --share=/tmp  -E DISPLAY -E TERM emacs emacs-guix bash unzip -- emacs

With the above invocation, I was able to invoke M-x guix-popup, but
every subsequent command I tried after that resulted in failure (an
exception was raised).

Locally, in my host system, I was able to get most of the commands
working by simply ensuring that GUILE_LOAD_PATH had the specific
guix-module-union entry that was present in %load-path within
"guix repl". Doing so, every command from M-x guix-popup worked except
for M-x guix-command which would result in an exception.

The instructions on the Gitlab issue (cross-posted on
issues.guix.gnu.org) either have a typo or have
bit-rotted. Specifically, it's guix-config-guile-program and not
guix-guile-program that helps when overridden.

(with-eval-after-load 'guix-repl
  (setq guix-config-guile-program  '("guix" "repl")
        guix-repl-use-server  nil))

With the above configuration (or its equivalent use-package translation)
I was able to ensure that M-x guix-command no longer raised the
exception. It still doesn't quite work correctly (the specific guix
command to run isn't prompted for), but it's better than before.

IMO it would help to document the minimal configuration that's needed to
make emacs-guix work as intended. And for this to be testable via some
"guix shell -C" invocation which is also documented.

-- 
Suhail


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

* Re: GUI for Guix
  2023-10-02 15:08 ` Ricardo Wurmus
@ 2023-10-03  9:00   ` Daniel Meißner
  0 siblings, 0 replies; 12+ messages in thread
From: Daniel Meißner @ 2023-10-03  9:00 UTC (permalink / raw)
  To: guix-devel, Ricardo Wurmus, Adam Faiz

Am 2. Oktober 2023 17:08:27 MESZ schrieb Ricardo Wurmus <rekado@elephly.net>:
> 
> Adam Faiz <adam.faiz5990@gmail.com> writes:
> 
> >> The last message in that issue discussion is mine:
> >
> >>    FWIW M-x guix-installed-packages (and all the other stuff) works for me
> >
> >> Is it *actually* broken?  If it is and you can provide information on
> > how to trigger the broken behavior we might be a step closer to fixing
> > it.
> >
> > I assumed that M-x guix-installed-packages already worked, so I wanted to test the main menu instead.
> >
> > I did the following steps:
> > 1. M-x guix
> > 2. Chose 'packages' by pressing p
> > 3. Go to the search by pressing s
> 
> This works for me.  It starts the REPL in the background and shows me a
> long list of packages.
> 

This works for me most of the time, too. But I also remember some spurious REPL-related errors from time to time. I usually restart Emacs and then it works again.

-- 
Best
Daniel


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

* Re: GUI for Guix
  2023-10-01 20:52 ` Ricardo Wurmus
  2023-10-02 20:25   ` Suhail Singh
@ 2023-10-04 15:49   ` Ludovic Courtès
  2023-10-06  2:58     ` Suhail Singh
  1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2023-10-04 15:49 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: Adam Faiz, dannym, guix-devel

Hi,

Ricardo Wurmus <rekado@elephly.net> skribis:

> Adam Faiz <adam.faiz@disroot.org> writes:
>
>> 4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)
>
> The last message in that issue discussion is mine:
>
>     FWIW M-x guix-installed-packages (and all the other stuff) works for me
>
> Is it *actually* broken?  If it is and you can provide information on
> how to trigger the broken behavior we might be a step closer to fixing
> it.

The only thing broken for me is completion in shell-mode (which I’ve
been meaning to tackle for a long time…).  I never click on the
“Install” button though (I use Home) so I don’t know if that bit works,
but I use a fair fraction of the rest.

(I also rediscovered ‘emacs-build-farm’ recently, and it’s wonderful!
The default URL list is outdated but apart from that it works like a
charm.)

Ludo’.


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

* Re: GUI for Guix
  2023-09-30 16:07 Adam Faiz
  2023-09-30 17:08 ` jbranso
  2023-10-01 20:52 ` Ricardo Wurmus
@ 2023-10-04 15:52 ` Ludovic Courtès
  2023-10-14 15:59   ` Maxim Cournoyer
  2 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2023-10-04 15:52 UTC (permalink / raw)
  To: Adam Faiz; +Cc: guix-devel, dannym

Hi,

Adam Faiz <adam.faiz@disroot.org> skribis:

> There are currently 4(maybe more?) different approaches for a Guix GUI:
> 1. Guix backend for PackageKit (https://issues.guix.gnu.org/17152)
> 2. A GTK program written by Danny Milosavljevic in Guile (https://gitlab.com/daym/guix-gui/)
> 3. A Qt program written for a non-FSDG distro downstream of Guix System (https://git.pantherx.org/development/applications/px-software)
> 4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)
>
> Which of these should be worked on? I tried packaging guix-gui, but it doesn't work without the workaround mentioned in the README.
> I think packaging it should wait until the guile-gi bug[1] is fixed.
>
> [1]: https://github.com/spk121/guile-gi/issues/96

FWIW I would suggest prioritizing #2 as it seems to be a low-hanging
fruit (what’s up with this Guile-GI bug though?).

Longer-term, #1 may be more fruitful, although one drawback is that
PackageKit/GNOME Software may be biased towards system-wide,
root-restricted installations.

Ludo’.


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

* Re: GUI for Guix
  2023-10-04 15:49   ` Ludovic Courtès
@ 2023-10-06  2:58     ` Suhail Singh
  0 siblings, 0 replies; 12+ messages in thread
From: Suhail Singh @ 2023-10-06  2:58 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Ricardo Wurmus, Adam Faiz, dannym, guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> The only thing broken for me is completion in shell-mode

FWIW, as an alternative, emacs-bash-completion
(<https://github.com/szermatt/emacs-bash-completion>) works quite well
for completion in shell-mode. I unintern pcomplete/guix and use it in
its stead.

-- 
Suhail


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

* Re: GUI for Guix
  2023-10-04 15:52 ` Ludovic Courtès
@ 2023-10-14 15:59   ` Maxim Cournoyer
  0 siblings, 0 replies; 12+ messages in thread
From: Maxim Cournoyer @ 2023-10-14 15:59 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Adam Faiz, guix-devel, dannym

Hi,

Ludovic Courtès <ludo@gnu.org> writes:

> Hi,
>
> Adam Faiz <adam.faiz@disroot.org> skribis:
>
>> There are currently 4(maybe more?) different approaches for a Guix GUI:
>> 1. Guix backend for PackageKit (https://issues.guix.gnu.org/17152)
>> 2. A GTK program written by Danny Milosavljevic in Guile (https://gitlab.com/daym/guix-gui/)
>> 3. A Qt program written for a non-FSDG distro downstream of Guix
>> System
>> (https://git.pantherx.org/development/applications/px-software)
>> 4. Emacs-Guix, currently broken (https://issues.guix.gnu.org/55013)
>>
>> Which of these should be worked on? I tried packaging guix-gui, but
>> it doesn't work without the workaround mentioned in the README.
>> I think packaging it should wait until the guile-gi bug[1] is fixed.
>>
>> [1]: https://github.com/spk121/guile-gi/issues/96
>
> FWIW I would suggest prioritizing #2 as it seems to be a low-hanging
> fruit (what’s up with this Guile-GI bug though?).
>
> Longer-term, #1 may be more fruitful, although one drawback is that
> PackageKit/GNOME Software may be biased towards system-wide,
> root-restricted installations.

My preference would be to go straight to #1; it should be possible by
implementing a helper in C that integrates libguile that can call into
the Guix API, IIRC past musings.

-- 
Thanks,
Maxim


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

end of thread, other threads:[~2023-10-14 15:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-02  8:53 GUI for Guix Adam Faiz
2023-10-02 15:08 ` Ricardo Wurmus
2023-10-03  9:00   ` Daniel Meißner
  -- strict thread matches above, loose matches on Subject: below --
2023-09-30 16:07 Adam Faiz
2023-09-30 17:08 ` jbranso
2023-10-02 18:52   ` Thompson, David
2023-10-01 20:52 ` Ricardo Wurmus
2023-10-02 20:25   ` Suhail Singh
2023-10-04 15:49   ` Ludovic Courtès
2023-10-06  2:58     ` Suhail Singh
2023-10-04 15:52 ` Ludovic Courtès
2023-10-14 15:59   ` Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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