Re: GUI for Guix

2023-10-05 Thread Suhail Singh
Ludovic Courtès  writes:

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

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

-- 
Suhail



Re: GUI for Guix

2023-10-04 Thread Ludovic Courtès
Hi,

Ricardo Wurmus  skribis:

> Adam Faiz  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’.



Re: GUI for Guix

2023-10-04 Thread Suhail Singh
Ricardo Wurmus  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



Re: GUI for Guix

2023-10-03 Thread Daniel Meißner
Am 2. Oktober 2023 17:08:27 MESZ schrieb Ricardo Wurmus :
> 
> Adam Faiz  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



Re: GUI for Guix

2023-10-02 Thread Ricardo Wurmus


Adam Faiz  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



Re: GUI for Guix

2023-10-02 Thread Adam Faiz
> 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.



Re: GUI for Guix

2023-10-01 Thread Ricardo Wurmus


Adam Faiz  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



Re: Latest Nyxt features a GUI for Guix :)

2020-11-12 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

> To add to what Ryan said, Nyxt has a interesting design feature: it does
> not need to depend on a web browser!  Nyxt is rather a 
> "Common Lisp interactive framework" and it would be perfectly possible
> to implement a textual interface à-la Emacs.  Of course, web page
> rendering would be much more limited though.

That sounds like a Common Lisp version of Emacsy.

-- 
Ricardo



Re: Latest Nyxt features a GUI for Guix :)

2020-11-12 Thread Ricardo Wurmus


Jan Wielkiewicz  writes:

> 2. I have some interesting ideas that would be a shame to waste. I
> actually don't care what displays the GUI, I'm working more on a
> modular desktop experience - the set of small GUI (and not only)
> programs working together by passing messages.
> 3. That's my project to learn programming in Guile.

Excellent!  I’m looking forward to it.  I wanted to play with McCLIM and
see if it could be adapted for Guile, but unfortunately I don’t really
have the time to fool around with it.

Alternative GUIs can be really neat!

-- 
Ricardo



Re: Latest Nyxt features a GUI for Guix :)

2020-11-12 Thread Jan Wielkiewicz
Dnia 2020-11-12, o godz. 10:20:10
Pierre Neidhardt  napisał(a):

> Ryan Prior  writes:
> 
> > On November 11, 2020, Jan Wielkiewicz
> >  wrote:
> >> [web browsers are] a really poorly designed copy of
> >> operating systems and its utilities.
> >>
> >> [...]
> >>
> >> I just don't understand why in the web browser.
> >> I'll try it.
> >
> > The web browser is the primary operating environment for a lot of
> > people. Just as Emacs users built web browsers, terminal emulators,
> > and mail clients on the Emacs platform, the web platform also has
> > all those things (including various elaborate in-browser code
> > editors.) So I understand this as having the exact same genesis as
> > the Guix interface in Emacs: people would like to manage their
> > operating system using the interface they spend most of their time
> > in, and for Nyxt power users that would be their browser. I'm not
> > at all interested in managing my Guix packages using Nyxt, which is
> > highly correlated to my not being a Nyxt power user.
> 
> Exactly :)

I see.

> To add to what Ryan said, Nyxt has a interesting design feature: it
> does not need to depend on a web browser!  

If this is the case, then I have nothing against it. I just don't like
when programs depend on things they don't need to, like a calculator
app written in  with 500MB of dependencies in
node_modules and Chromium. This isn't a joke, this is the reality we're
living in.

> Nyxt is rather a 
> "Common Lisp interactive framework" and it would be perfectly possible
> to implement a textual interface à-la Emacs.  Of course, web page
> rendering would be much more limited though.
> 
> I'd like to work on a pure GTK (or )
> version of Nyxt at some point.
> 

Nice.




Re: Latest Nyxt features a GUI for Guix :)

2020-11-12 Thread Jan Wielkiewicz
Dnia 2020-11-12, o godz. 09:51:00
Ricardo Wurmus  napisał(a):

> 
> Jan Wielkiewicz  writes:
> 
> > I guess your choice comes from the lack of a proper GUI toolkit
> > available, but I'm just not a big fan of web browsers generally.
> > In fact I started writing my own GUI toolkit/application framework
> > in Guile just for the purpose of bringing modularity to GUI
> > applications, but I'm rather unexperienced and this might take a
> > few years. 
> 
> Is guile-gi not working well enough for your use case?
> 

1. Never heard of it, but I'll check it out if it exists, maybe I can
reuse some code or improve it or even build on top of it.
...
Looking further into it I actually remember now what it is, just last
time I checked the bindings for GTK+ were outdated and not maintained
and guile-gi was in the early development stage. 
2. I have some interesting ideas that would be a shame to waste. I
actually don't care what displays the GUI, I'm working more on a
modular desktop experience - the set of small GUI (and not only)
programs working together by passing messages.
3. That's my project to learn programming in Guile.

Thanks for mentioning guile-gi, this will speed up my experiments.


Jan Wielkiewicz




Re: Latest Nyxt features a GUI for Guix :)

2020-11-12 Thread Ricardo Wurmus


Jan Wielkiewicz  writes:

> I guess your choice comes from the lack of a proper GUI toolkit
> available, but I'm just not a big fan of web browsers generally.
> In fact I started writing my own GUI toolkit/application framework in
> Guile just for the purpose of bringing modularity to GUI applications,
> but I'm rather unexperienced and this might take a few years. 

Is guile-gi not working well enough for your use case?

-- 
Ricardo



Re: Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Ryan Prior
On November 11, 2020, Jan Wielkiewicz
 wrote:
> [web browsers are] a really poorly designed copy of
> operating systems and its utilities.
>
> [...]
>
> I just don't understand why in the web browser.
> I'll try it.

The web browser is the primary operating environment for a lot of
people. Just as Emacs users built web browsers, terminal emulators, and
mail clients on the Emacs platform, the web platform also has all those
things (including various elaborate in-browser code editors.) So I
understand this as having the exact same genesis as the Guix interface
in Emacs: people would like to manage their operating system using the
interface they spend most of their time in, and for Nyxt power users
that would be their browser. I'm not at all interested in managing my
Guix packages using Nyxt, which is highly correlated to my not being a
Nyxt power user.


Re: Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Jan Wielkiewicz
Dnia 2020-11-11, o godz. 19:35:57
Pierre Neidhardt  napisał(a):

> Hi Jan,
> 
> Jan Wielkiewicz  writes:
> 
> >> I've just updated the Nyxt package to 2-pre-release-4 which
> >> includes a package manager GUI that supports Guix!
> > Did you and a GUI for the package manager into the browser...? :)
> 
> Sorry, what did you mean? :)
Sorry for I-had-a-stroke message. I often build my sentences
non-linearly and end up with sliced streams of consciousness.

What I was supposed to write:
"Did you add a GUI for the package manager into the browser...? :)"

> > I mean it's good to have a GUI for Guix, but isn't this against so
> > called "UNIX Philosophy" or modularity, saying more precisely?
> 
> What is against the Unix philosophy?
I don't really like the term, because it became a buzzword recently,
but generally what I mean is building a program on top of a giant
framework such as a web browser isn't the best desing choice.
I think programs should be build in the modular fashion, so each
element is easily replaceable. I believe web browsers tend to do many
things and do them badly - they're a really poorly designed copy of
operating systems and its utilities.

I guess your choice comes from the lack of a proper GUI toolkit
available, but I'm just not a big fan of web browsers generally.
In fact I started writing my own GUI toolkit/application framework in
Guile just for the purpose of bringing modularity to GUI applications,
but I'm rather unexperienced and this might take a few years. 

> I don't think GUIs are against anything.  This GUI I've worked on a
> merely an interface, it does nothing but use the Guix API.
The first sentence made my point not clear - I have nothing against
GUIs.

> It makes searching and install/uninstall and generation delete
> operations very convenient.  Everything is much easier when you have
> an interactive minibuffer with live fuzzy search ;)
That's good, I just don't understand why in the web browser.
I'll try it.

> Cheers!
> 



Re: Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Bengt Richter
Hi Pierre,

On +2020-11-11 15:42:42 +0100, Pierre Neidhardt wrote:
> Screenshots here:
> 
> https://nyxt.atlas.engineer/article/release-2-pre-release-4.org
> 
> -- 
> Pierre Neidhardt
> https://ambrevar.xyz/

https://nyxt.atlas.engineer/article/release-2-pre-release-4.org
--8<---cut here---start->8---
502 Bad Gateway
nginx/1.14.0
--8<---cut here---end--->8---

using
--8<---cut here---start->8---
Mozilla Firefox 78.4.1esr
--8<---cut here---end--->8---
on pureos, debian-based
--8<---cut here---start->8---
4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18)
--8<---cut here---end--->8---

NBD, just thought you might like to know :)
-- 
Regards,
Bengt Richter



Re: Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Pierre Neidhardt
Hi Jan,

Jan Wielkiewicz  writes:

>> I've just updated the Nyxt package to 2-pre-release-4 which includes a
>> package manager GUI that supports Guix!
> Did you and a GUI for the package manager into the browser...? :)

Sorry, what did you mean? :)

> I mean it's good to have a GUI for Guix, but isn't this against so
> called "UNIX Philosophy" or modularity, saying more precisely?

What is against the Unix philosophy?

I don't think GUIs are against anything.  This GUI I've worked on a
merely an interface, it does nothing but use the Guix API.

It makes searching and install/uninstall and generation delete
operations very convenient.  Everything is much easier when you have an
interactive minibuffer with live fuzzy search ;)

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Jan Wielkiewicz
Dnia 2020-11-11, o godz. 15:41:33
Pierre Neidhardt  napisał(a):

> Hi Guixers!
Hi Pierre!

> I've just updated the Nyxt package to 2-pre-release-4 which includes a
> package manager GUI that supports Guix!
Did you and a GUI for the package manager into the browser...? :)
I mean it's good to have a GUI for Guix, but isn't this against so
called "UNIX Philosophy" or modularity, saying more precisely?
I guess thats an Emacs thing, but I have never understood why.

> You can:
> 
> - describe-os-package
> - install-os-package
> - uninstall-os-package
> - list-os-package-files
> 
> - install-package-manifest
> - edit-package-manifest
> 
> - describe-os-generation
> - switch-os-generation
> - delete-os-generation
> 
> All these commands support existing profiles.  Profile creation is not
> supported at the moment.
> 
> Most of these commands work with multiple selections (C-space, M-a to
> select all).
> 
> Interested in your feedback!
> 
> Happy hacking!
> 

Jan Wielkiewicz



Re: Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Pierre Neidhardt
Screenshots here:

https://nyxt.atlas.engineer/article/release-2-pre-release-4.org

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Latest Nyxt features a GUI for Guix :)

2020-11-11 Thread Pierre Neidhardt
Hi Guixers!

I've just updated the Nyxt package to 2-pre-release-4 which includes a
package manager GUI that supports Guix!

You can:

- describe-os-package
- install-os-package
- uninstall-os-package
- list-os-package-files

- install-package-manifest
- edit-package-manifest

- describe-os-generation
- switch-os-generation
- delete-os-generation

All these commands support existing profiles.  Profile creation is not
supported at the moment.

Most of these commands work with multiple selections (C-space, M-a to
select all).

Interested in your feedback!

Happy hacking!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature