guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NLNet grant "Next Generation Internet -- Search & discovery": I'm in


From: Pjotr Prins
Subject: Re: NLNet grant "Next Generation Internet -- Search & discovery": I'm in!
Date: Fri, 13 Dec 2019 14:44:28 -0600
User-agent: NeoMutt/20170113 (1.7.2)

That is great news Pierre :)

On Fri, Dec 13, 2019 at 03:48:37PM +0100, Pierre Neidhardt wrote:
> Dear Guix community!
> 
> I'm happy to let your know that my application to the NLNet "Next
> Generation Internet -- Search & Discovery" grant for Guix has been
> accepted!
> 
> See https://nlnet.nl/project/GUIX/ (the description is misleading, see below).
> See also the European Union initiative website: https://www.ngi.eu/.
> 
> This will allow me to work on Guix for a flexible period, probably between 6
> months and 1 year.
> 
> The bad news: Nope, IPFS is not part of the grant! :p  So I won't be working 
> on
> it myself in the context of NGI.  But who knows, if I get extra time... (Or
> anyone else ;p).
> 
> Here follows the current plan (subject to change).  Ideas are welcome!
> 
> 
> 
> /The main goal is to enhance search and discovery of Guix packages and 
> services
> via a catalogue. The subgoal is to complete what “packages” and “services” 
> are in
> Guix by completing them and broadening their domain./
> 
> 1. Parameterized packages
>    (Previous discussion: 
> https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00285.html)
> 
>    Gentoo’s package manager, Portage, exposes a “USE flags” feature which 
> allows
>    users to customize packages in a way that composes (e.g. “disable the GUI
>    elements of all packages” for a headless server).  This essentially 
> subdivides
>    packages into smaller “components.”  Since those components form the 
> smallest
>    atoms a user could search for, this is a prerequisite for the rest of the
>    searchability improvements.
> 
>    Milestone(s)
>    * Implement parameterized package support (mostly Guile code).
>    * Write tests.
>    * Document.
>    * Community review.
> 
> 2. File search
>    (Previous discussion: 
> https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00236.html)
> 
>    Many package managers support looking up packages by the file paths they
>    include.  This feature is missing in Guix while being crucial for search,
>    e.g. when the user knows the executable name which happens to be different
>    from the package name.
> 
>    Milestone(s)
>    * Implement file paths caching in the daemon (mostly C++).
>    * Implement high-level command line interface for file search (mostly 
> Guile).
>    * Write tests.
>    * Document.
>    * Community review.
>    * Deploy on the build farms.
> 
> 3. User services
> 
>    Previous discussions:
>    - Guix shepherd user services: 
> https://lists.gnu.org/archive/html/guix-devel/2019-02/msg00128.html
>    - Julien's home manager: 
> https://lists.gnu.org/archive/html/guix-devel/2019-09/msg00185.html
>    - Nix Home Manager: https://nixos.wiki/wiki/Home_Manager
>    I believe there were many more discussion on user services on the
>    mailing list, feel free to share them!
> 
>    Guix provides excellent integration with GNU Shepherd for system services 
> (all
>    configurations are programmable and composable using Guile).  But it lacks
>    integration for user services.  User services can be used to replace much 
> of the
>    traditional “dotfiles” which are often ad-hoc hacks (e.g. environment 
> variables,
>    scripts, various program configurations such as GnuPG).  The benefit is as 
> for
>    packages: the work of one can be redistributed to many.  Finally, services 
> are
>    not searchable with Guix.  We could fix this issue.
> 
>    Milestone(s)
>    * Integrate Guix with GNU Shepherd to support user services.  A user 
> service
>      should then automatically require the necessary packages, just like a
>      system service does.  For instance if the user sets up a GnuPG service,
>      they don’t have to install GnuPG explicitly, Guix+Shepherd will take care
>      of that.
>    * Implement service search.
>    * Write tests.
>    * Document.
>    * Community review.
> 
> 4. Graphical user interface (GUI)
> 
>    *Question*: I recently read an email about someone (an intern?) working on 
> a
>    graphical installer.  Can't find the email back though.  Is someone still
>    working on it?  There could be a lot of work to factor here.
> 
>    Guix comes with a command line interface and some Emacs interfaces.  None 
> of
>    them are particularly newcomer-friendly.  Besides, much of the 
> configuration is
>    done by editing Guile files.  The goal of this task is to make Guix more
>    accessible to non-tech users by providing an intuitive user interface to 
> most of
>    Guix actions.
> 
>    Milestone(s)
>    * Discuss with the Accessibility Group for the requirements.
>    * Implement the GUI using Gobject-Introspection (Guile).
>      1. Live fuzzy-search.
>      2. Search packages.
>      3. Search file paths.
>      4. Search system/user services.
>      5. Configuration editor (generates a Guile configuration).
>    * Write tests.
>    * Document.
>    * Community review.
> 
> 5. Social integration with the Guix catalogue
> 
>    Previous discussions:
>    - Adding wikidata, wikipedia & screenshot-url fields to    
> package-recipes: 
> https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00007.html
>    - Re-approaching package tagging: 
> https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00385.html
>    - New library: guile-wikidata: 
> https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00107.html
>    - Guix <-> Wikidata: 
> https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00017.html
>    - Guix Wikidata module - next steps: 
> https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00089.html
> 
>    There were also a few discussions regarding package search improvements, in
>    which has Zimoun participated quite a bit if I recall correctly.  Feel free
>    to share all your precious links! :)
> 
>    Guix packages can be search from the package name, the synopsis (a 
> one-liner)
>    and the description (a paragraph).  The goal here is to extend the
>    discoverability of both packages and services thanks to a catalogue.  If
>    possible, we would like to make it possible to a wide audience to 
> contribute to
>    such a catalogue.
> 
>    Milestone(s)
>    * Discuss with Guix, Nix, Debian and other distributions about the
>      possibility to centralize the catalogue.  What about using Wikidata?
>    * Implement the catalogue.
>      1. Add package recommendation suggestions.
>      2. Add (optionally anonymous) statistics (e.g. number of downloads).
>      3. Add (optionally anonymous) ratings.
>      4. Add tag lookup for packages/services.
>    * Integrate the catalogue with Guix command line (mostly Guile).
>    * Integrate the catalogue with the Guix GUI (mostly Guile).
>    * Write tests.
>    * Document.
>    * Community review.
> 
> --
> Pierre Neidhardt
> https://ambrevar.xyz/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]