Re: “Guix Profiles in Practice”

2019-10-25 Thread Jonathan Frederickson

On 10/25/19 8:34 PM, Jonathan Frederickson wrote:


Pipfile: analogous to a Guix manifest


Something I missed here; a Pipfile isn't *quite* analogous to a Guix 
manifest because it also contains the PyPI repo URLs to find those 
packages. So I think a Pipfile analogue would need a new record type 
containing both the repo URLs (without commit hashes) and the manifest.




Re: “Guix Profiles in Practice”

2019-10-25 Thread Jonathan Frederickson

On 10/25/19 12:36 PM, Thompson, David wrote

'guix environment' is a very composable command, and it's not clear to
me how I would add the stuff I want onto it and it's even less clear
if it's a good idea.  Probably not.  So, I wonder if maybe a new
subcommand, say 'guix develop', could address this common development
use-case while allowing 'guix environment' to continue being the swiss
army knife that it is.  Some simple naming conventions could make this
tool "just work."  Running 'guix develop' would check for a profile
symlink with some canonical name, for example '.guix-develop-profile'.
If it exists, it applies the environment variables and spawns a
subshell.  If it doesn't exist, it looks for a 'develop.scm' file
(canonical name TBD), builds the profile, symlinks it to
'.guix-develop-profile', and then does the prior steps.  The tool
would provide a mechanism to update, etc. and it could even be
expanded later to spawn services like databases.


I love this idea, though I'd like to expand upon that a bit. There's 
another tool in the Python world that does something similar called 
Pipenv. The gist of it is:


Pipfile: analogous to a Guix manifest
Pipfile.lock: analogous to a Guix manifest + channel spec (this file 
contains precisely specified dependency versions)
~/.local/share/virtualenvs/: Generated virtualenvs (analogous 
to a Guix profile, of course)


You work with these as follows:

$ pipenv install
^ creates a virtualenv with packages from Pipfile.lock (if it exists) 
otherwise creates a virtualenv with packages from Pipfile and (by 
default) creates Pipfile.lock

$ pipenv lock
^ resolves dependencies for packages in Pipfile and (re)creates Pipfile.lock
$ pipenv shell
^ spawns a subshell in the project's virtualenv

It occurs to me that you could nicely replicate this behavior in Guix by 
doing much the same thing; have a convenience command that reads a 
manifest with a well-known filename, creates profiles in a well-known 
location, and generates a channel spec (probably the current version of 
Guix the first time it's run). The end result is that a user could clone 
a project with both a manifest and channel spec and end up in the same 
environment by just running 'guix develop'.




Re: We need your feedback of the documentation videos!

2019-10-25 Thread pelzflorian (Florian Pelz)
Thank you for all your reviews!  Feel free to change some things later on:

I will push tomorrow morning with a clear mind. :)


On Tue, Oct 22, 2019 at 11:25:27AM -0500, sirgazil wrote:
> Now, personally, if I had the time, I would have designed the videos page in 
> a similar way to the blog page,

I have *not* done this, only the link is no longer yellow.

> and also done something like this:
> 
> […]
> * Add a "media" app that would hold the definitions for videos and 
> screenshots (the latter would move from the base app).

I have done this, but most of the screenshot-related CSS remains in
website/static/base/css/index.css.

> […]
> * Add a new entry to the Help page, next to "GNU Guix Manual", with the same 
> "Instructional videos" title.

I have *not* done this yet, as I am bad at drawing icons for the help
page.  I could ask a friend of mine or have you do it.

>  > P.S. I would like to request a review of this functions I would like 
>  > to add to website/apps/aux/lists.scm: 
> 
> 
> Or maybe you could factor out the "sample" procedure defined in the
> "index-builder" of "(apps packages builder)". I think Wurmus added
> that one for the Packages home page.
> 
> 

Thank you for the suggestion!  However, I believe it would sample the
same element twice.  That is unlikely to happen for packages but a
problem for screenshots.  I will probably retain my take-random
procedure, even though it is not as concise as it should be.

>  > Also I want to ask, the “license” header says: 
>  >  
>  > ;;; GNU Guix web site 
>  > ;;; Initially written by sirgazil who waves all 
>  > ;;; copyright interest on this file. 
>  >  
>  > sirgazil, shall I replace “waves” by “waives”?  I believe this is a 
>  > typo. 
> 
> 
> That's a typo, yes. Although, if I didn't do anything in that file,
> I think that line should not be there, but I'm not a lawyer.
>

IANAL, but I copied code from the files you worked on, so you have
copyright.  I will fix the typo in all files then.

On Fri, Oct 25, 2019 at 10:32:24PM +0200, Ludovic Courtès wrote:
> "pelzflorian (Florian Pelz)"  skribis:
> > Ludo, shall I push this evening
> > with videos coming from the Internet Archive (archive.org)?
> 
> Sure!  I haven’t tried building the web site with the patches (do check
> “guix build -f .guix.scm” before pushing), but the changes LGTM
> overall, and long overdue!
> 
> We can keep the videos on archive.org for now, I guess they won’t
> disappear overnight, and eventually we can move them to guix.gnu.org
> when one of us can allocate time for that.
> 
> Thank you for moving forward on this topic!
> 

OK, thank you!

Regards,
Florian



Re: “Guix Profiles in Practice”

2019-10-25 Thread Pjotr Prins
On Fri, Oct 25, 2019 at 12:36:01PM -0400, Thompson, David wrote:
> On Fri, Oct 25, 2019 at 6:57 AM Ludovic Courtès  wrote:
> >
> > Hello Guix!
> >
> > Here’s a new blog post by Pierre Neidhardt entitled “Guix Profiles in
> > Practice”:
> >
> >   https://guix.gnu.org/blog/2019/guix-profiles-in-practice/
> >
> > A great discussion on the benefits of manifests and on ways to manage
> > several profiles!
> 
> Great article!

I agree. One useful thing not mentioned in there is, that before
loading a profile, it may be worthwhile to empty the shell with

  env -i /bin/bash --login --noprofile --norc

  . ~/opt/my-tools-profile/etc/profile

so no existing shell variables may pollute your beautiful setup. 

Pj




Re: State of ungoogled-chromium in Guix

2019-10-25 Thread Ludovic Courtès
Hello,

Marius Bakke  skribis:

> I plan to remove 'ungoogled-chromium' and 'ungoogled-chromium-wayland'
> in a few days, unless someone is willing to port the patches.  I can
> help extracting just the few changes we need, but do not have time nor
> motivation to port them to the newer version myself.

Sounds reasonable to me.

If/when someone wants to work on the upgrade, or if the Debian Chromium
team picks it up, we can always reinstate it.

Thanks,
Ludo’.



Re: We need your feedback of the documentation videos!

2019-10-25 Thread Ludovic Courtès
Hi Florian,

"pelzflorian (Florian Pelz)"  skribis:

> On Tue, Oct 22, 2019 at 08:59:40PM +0200, pelzflorian (Florian Pelz) wrote:
>> Thank you for your review.  I will resend tomorrow with these changes.
>> 
>
> Sorry it takes me longer than expected to implement all of sirgazil’s
> suggestions.  I will finish today.  Ludo, shall I push this evening
> with videos coming from the Internet Archive (archive.org)?

Sure!  I haven’t tried building the web site with the patches (do check
“guix build -f .guix.scm” before pushing), but the changes LGTM
overall, and long overdue!

We can keep the videos on archive.org for now, I guess they won’t
disappear overnight, and eventually we can move them to guix.gnu.org
when one of us can allocate time for that.

Thank you for moving forward on this topic!

Ludo’.



Re: Maintaining GNU Jami package for Guix

2019-10-25 Thread Jan Wielkiewicz
Dnia 2019-10-25, o godz. 17:03:01
Pierre Neidhardt  napisał(a):

> Hi Jan,
> 
> any luck with Jami?  Let me know if you need more specific help (my
> previous message was maybe not too clear :p), I can dig into this
> deeper in the coming days.
> 

I had little time recently, but I've been trying different things in
order to build pjproject.
What I know is the current version of pjproject doesn't compile at all
without Savoir-failre linux patches. I also talked with Jami developers
about the current state of Jami and pjproject:
https://git.ring.cx/savoirfairelinux/ring-project/issues/691

They're still applying patches for pjproject and the version they use
is 2.9, tried updating jami-source and pjproject, but applying the
patches failed. I suspect we're missing some dependencies of pjproject.
I can post error messages, but have to sit down and build everything
again. I'm going to try this weekend.


Jan Wielkiewicz



Re: Fwd: Running individual system tests

2019-10-25 Thread Ludovic Courtès
Hi Daniel,

Daniel Schäfer  skribis:

> I hacked together a solution that works but is far from nice.
> It is based off of build-aux/run-system-tests.scm and I tried to strip
> it down to the core.

There’s a simpler solution:

--8<---cut here---start->8---
$ cat /tmp/test.scm
(use-modules (gnu tests) (gnu tests rsync))

(lambda ()
  (system-test-value %test-rsync))
$ guix build -f /tmp/test.scm 
…
--8<---cut here---end--->8---

However, note that the (gnu tests …) API could change anytime.  In
particular, I’d like to avoid monadic style there.

HTH!

Ludo’.



Re: add sway to website front page

2019-10-25 Thread Ludovic Courtès
Hello,

"pelzflorian (Florian Pelz)"  skribis:

> On Wed, Sep 11, 2019 at 08:23:22PM -0400, Joshua Branson wrote:
>> 
>> Hey guix,
>> 
>> This patch adds sway wm to the front page of guix.gnu.org.  Sway does
>> seem to be pretty popular, and it works amazing well in guix.
>> 
>> What do ya'll think?
>> 
>
> Pushed and signed-off as 404b56b0a095b28de6efbfbc2c45d356b277c7e0.
> I added periods to the end of sentences in the commit message.

Nice, thanks!

Ludo’.



Re: “Guix Profiles in Practice”

2019-10-25 Thread Thompson, David
On Fri, Oct 25, 2019 at 6:57 AM Ludovic Courtès  wrote:
>
> Hello Guix!
>
> Here’s a new blog post by Pierre Neidhardt entitled “Guix Profiles in
> Practice”:
>
>   https://guix.gnu.org/blog/2019/guix-profiles-in-practice/
>
> A great discussion on the benefits of manifests and on ways to manage
> several profiles!

Great article!

I spotted a typo in the first paragraph: "on a same system" should be
"on the same system."

The section below reminds me about some unfinished work from back when
I wrote 'guix environment':

Eventually, we set to work on that project again, so we run guix
environment -m manifest.scm. But now we have to wait for Guix to
build and install stuff!

This is indeed a frustration.  It takes a bunch of extra switches to
have 'guix environment' create a profile and even I don't bother with
it, just opting to build a new profile if I've upgraded guix since the
last time I worked on the project.  This gets me into trouble when I
upgrade guix and decide that I want to work on the project while I'm
somewhere with no network connection or too slow of a connection to
download everything in a reasonable time.  It has happened to me
multiple times while commuting by train.

'guix environment' is a very composable command, and it's not clear to
me how I would add the stuff I want onto it and it's even less clear
if it's a good idea.  Probably not.  So, I wonder if maybe a new
subcommand, say 'guix develop', could address this common development
use-case while allowing 'guix environment' to continue being the swiss
army knife that it is.  Some simple naming conventions could make this
tool "just work."  Running 'guix develop' would check for a profile
symlink with some canonical name, for example '.guix-develop-profile'.
If it exists, it applies the environment variables and spawns a
subshell.  If it doesn't exist, it looks for a 'develop.scm' file
(canonical name TBD), builds the profile, symlinks it to
'.guix-develop-profile', and then does the prior steps.  The tool
would provide a mechanism to update, etc. and it could even be
expanded later to spawn services like databases.

- Dave



Re: Maintaining GNU Jami package for Guix

2019-10-25 Thread Pierre Neidhardt
Hi Jan,

any luck with Jami?  Let me know if you need more specific help (my
previous message was maybe not too clear :p), I can dig into this deeper
in the coming days.

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


signature.asc
Description: PGP signature


Re: gnu: profanity: Modify build options.

2019-10-25 Thread Tanguy Le Carrour
Hi Jack!

Le 10/25, Jack Hill a écrit :
> As a mcabber user, I'm excited to learn about another console xmpp client!
> Is the home-page in the package definition, ,
> correct? That page is blocked for me at work, and it didn't look right when
> I was browsing it from a different network with elinks. It looks like a
> better home-page might be . Is my
> assessment correct? Should the package definition be updated?

You're absolutly right!
I've fixed it and I'll soon send the patch.

Thanks,

-- 
Tanguy



Re: gnu: profanity: Modify build options.

2019-10-25 Thread Jack Hill

Tanguy,

As a mcabber user, I'm excited to learn about another console xmpp client! 
Is the home-page in the package definition, , 
correct? That page is blocked for me at work, and it didn't look right 
when I was browsing it from a different network with elinks. It looks like 
a better home-page might be . Is my 
assessment correct? Should the package definition be updated?


Best,
Jack



Re: Towards reproducibly Jupyter notebooks with Guix-Jupyter

2019-10-25 Thread Pierre Neidhardt
Hi Konrad,

Konrad Hinsen  writes:

> That looks like a layer on top of the Guix commands which does
> profile/manifes management based on a few conventions. Nice!

Exactly.  It's very usable, but of course having it embedded in the CLI
would be much better, since it would be even more usable (e.g. caching
of the Guix checkout) + it would benefit everyone.

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


signature.asc
Description: PGP signature


Re: Towards reproducibly Jupyter notebooks with Guix-Jupyter

2019-10-25 Thread Konrad Hinsen
Hi Pierre,

> In the meantime I've played with Guix + Emacs and wrapped Guix CLI in
> hopefully a more convenient way that makes it easy to track the channel
> specifications for various manifests, to reproduce them, etc.
>
> See https://gitlab.com/emacs-guix/emacs-guix/issues/13, maybe that'll
> inspire you :)

That looks like a layer on top of the Guix commands which does
profile/manifes management based on a few conventions. Nice!

Cheers,
  Konrad.



Re: We need your feedback of the documentation videos!

2019-10-25 Thread sirgazil
 On Fri, 25 Oct 2019 03:12:26 -0500 pelzflorian (Florian Pelz) 
 wrote 

 > On Fri, Oct 25, 2019 at 08:35:59AM +0200, pelzflorian (Florian Pelz) wrote: 
 > > On Tue, Oct 22, 2019 at 08:59:40PM +0200, pelzflorian (Florian Pelz) 
 > > wrote: 
 > > > Thank you for your review.  I will resend tomorrow with these changes. 
 > > > 
 > > 
 > > Sorry it takes me longer than expected to implement all of sirgazil’s 
 > > suggestions.  I will finish today.


No worries :)


 > P.S. I would like to request a review of this functions I would like 
 > to add to website/apps/aux/lists.scm: 


Or maybe you could factor out the "sample" procedure defined in the 
"index-builder" of "(apps packages builder)". I think Wurmus added that one for 
the Packages home page.


 > Also I want to ask, the “license” header says: 
 >  
 > ;;; GNU Guix web site 
 > ;;; Initially written by sirgazil who waves all 
 > ;;; copyright interest on this file. 
 >  
 > sirgazil, shall I replace “waves” by “waives”?  I believe this is a 
 > typo. 


That's a typo, yes. Although, if I didn't do anything in that file, I think 
that line should not be there, but I'm not a lawyer. 


---
https://sirgazil.bitbucket.io/





Re: gnu: profanity: Modify build options.

2019-10-25 Thread Tanguy Le Carrour
Le 10/25, Gábor Boskovits a écrit :
> Tanguy Le Carrour  ezt írta (időpont: 2019. okt. 25.,
> Pén 11:59):
> 
> > Hi Guix!
> >
> > Yesterday, I submitted a patch to update Profanity [1].
> >
> > [1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37903
> >
> > My motivation was not to get the latest version of the software, but to
> > get the OMEMO encryption feature! This was only possible with versions >
> > 0.6.
> >
> > The question is now to know if I can/should modify the package's build
> > options and dependencies to enable OMEMO? I guess it make sense to have
> > encryption available by default.
> >
> > Another thing I would like to do is to enable profanity's "desktop"
> > features,
> > namely tray icon and notifications. Would it make sense to activate it
> > by default? Would it be better to create a `profanity-desktop` package
> > that modify the dependencies and the options?!
> >
> Usually the default package comes with as much functionality as possible.
> You could do a minimal package

OK, I'll work on that when Profanity 0.7 is available.

-- 
Tanguy



Re: Multiseat in Guix

2019-10-25 Thread Brendan Tildesley
I don't know how to do this but I've always been fascinated by it, so I
just wanted to bump this and say that I think it's a really important
feature to get working (eventually), because for example schools can set
up a computer lab of 30 workstations using only 15 actual computers,
saving money and waste. I notice guix has a kmscons configuration for
the installer, but that project seems abandoned.




Re: gnu: profanity: Modify build options.

2019-10-25 Thread Gábor Boskovits
Tanguy Le Carrour  ezt írta (időpont: 2019. okt. 25.,
Pén 11:59):

> Hi Guix!
>
> Yesterday, I submitted a patch to update Profanity [1].
>
> [1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37903
>
> My motivation was not to get the latest version of the software, but to
> get the OMEMO encryption feature! This was only possible with versions >
> 0.6.
>
> The question is now to know if I can/should modify the package's build
> options and dependencies to enable OMEMO? I guess it make sense to have
> encryption available by default.
>
> Another thing I would like to do is to enable profanity's "desktop"
> features,
> namely tray icon and notifications. Would it make sense to activate it
> by default? Would it be better to create a `profanity-desktop` package
> that modify the dependencies and the options?!
>
Usually the default package comes with as much functionality as possible.
You could do a minimal package

>
> What do you think?
>
> --
> Tanguy
>
>


“Guix Profiles in Practice”

2019-10-25 Thread Ludovic Courtès
Hello Guix!

Here’s a new blog post by Pierre Neidhardt entitled “Guix Profiles in
Practice”:

  https://guix.gnu.org/blog/2019/guix-profiles-in-practice/

A great discussion on the benefits of manifests and on ways to manage
several profiles!

Ludo’.



gnu: profanity: Modify build options.

2019-10-25 Thread Tanguy Le Carrour
Hi Guix!

Yesterday, I submitted a patch to update Profanity [1].

[1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37903

My motivation was not to get the latest version of the software, but to
get the OMEMO encryption feature! This was only possible with versions > 0.6.

The question is now to know if I can/should modify the package's build
options and dependencies to enable OMEMO? I guess it make sense to have
encryption available by default.

Another thing I would like to do is to enable profanity's "desktop" features,
namely tray icon and notifications. Would it make sense to activate it
by default? Would it be better to create a `profanity-desktop` package
that modify the dependencies and the options?!

What do you think?

-- 
Tanguy



Re: Towards reproducibly Jupyter notebooks with Guix-Jupyter

2019-10-25 Thread Konrad Hinsen
Hi Ludo,

> I see.  In a way one could argue that it’s not Guix’ problem, but OTOH
> it’s clearly a problem that Guix doesn’t make it more convenient.

I don't know much about Guix' problem, not being a software
psychologist, but in the meantime I am trying to solve a
problem that some Guix users have :-)

> That sounds reasonable to me: it’s a simple and easily-understood UI
> (easier than the ‘guix pull -p’ dance!), and the implementation should
> be easy (thus the maintenance cost is very low).

Indeed.

> Looking forward to a patch!  :-)

If all goes well, next week !

Cheers,
  Konrad.



Re: We need your feedback of the documentation videos!

2019-10-25 Thread pelzflorian (Florian Pelz)
On Fri, Oct 25, 2019 at 08:35:59AM +0200, pelzflorian (Florian Pelz) wrote:
> On Tue, Oct 22, 2019 at 08:59:40PM +0200, pelzflorian (Florian Pelz) wrote:
> > Thank you for your review.  I will resend tomorrow with these changes.
> > 
> 
> Sorry it takes me longer than expected to implement all of sirgazil’s
> suggestions.  I will finish today.  Ludo, shall I push this evening
> with videos coming from the Internet Archive (archive.org)?
> 

P.S. I would like to request a review of this functions I would like
to add to website/apps/aux/lists.scm:

(define (take-random list n)
  "Return a list containing N elements from LIST, if possible, chosen
randomly and evenly distributed.  If LIST has less than N elements,
the result is a permutation of LIST."
  (let loop ((list list)
 (n n)
 (len (length list)))
(if (<= (min n len) 0)
'()
(let ((r (random-integer len)))
  (cons (list-ref list r)
(loop (append (take list r)
  (drop list (1+ r)))
  (- len 1)
  (- n 1)))


It is meant for selecting 6 screenshots at random when building the
site, as suggested by sirgazil.  Performance is not important, I
suppose.

Also I want to ask, the “license” header says:

;;; GNU Guix web site
;;; Initially written by sirgazil who waves all
;;; copyright interest on this file.

sirgazil, shall I replace “waves” by “waives”?  I believe this is a
typo.

Regards,
Florian



Re: gnu: python-pytest: Update to 5.2.1.

2019-10-25 Thread Tanguy Le Carrour
Le 10/24, Maxim Cournoyer a écrit :
> I too had looked into updating python-pytest, and realized the same
> thing.  There's a way out, though.  Python 3.8.0 will include
> 'import-metadata' as a core library [0].
> 
> Let's package Python 3.8.0 on core-updates!
> 
> [0]  https://docs.python.org/3/whatsnew/3.8.html#new-modules

Sounds like a plan!
I'll look into it later today or at the week end!


-- 
Tanguy