guix-devel
[Top][All Lists]
Advanced

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

Re: GSoC 2024


From: Steve George
Subject: Re: GSoC 2024
Date: Thu, 7 Mar 2024 14:09:32 +0000

Hi,

I had a couple of ideas - but would need help from someone to mentor

1. Moldable development in Guix
Exploratory REPL experience is one of the hall-marks of 'moldable' systems. 
This shortens the development cycle and improves the ability of users to 
explore Guix.

The best REPL experience today is through Emacs. We have a modern nREPL 
implementation that is compatible with Guile. This needs further development 
and the Guix client side improved.

* Develop a basic CLI Nrepl experience in guile-ares-rs 
(https://git.sr.ht/~abcdw/guile-ares-rs)
* Add further CLI REPL functions to Guix 
* Stretch goal to add a Guix / Guile Scheme nrepl support to Conjure 
(https://github.com/Olical/conjure/issues/549) 

This would need co-ordination with Andrew Tropin (abcw) and Oliver Caldwell 
(Olical), and some help from a Guix mentor. 

2. Improving Docker image output (guix pack)
Docker containers are a common deployment method for applications. While they 
may be good for deployment, they have weak reproducibilty which Guix solves. 
Docker containers generated by Guix for deployment are large compared to 
similar deployments using Nix or Alpine. The purpose of this project is to 
optimise the build and deployment pipeline in Guix.

* Examine the current 'guix pack' process for optimisations
* Optimise the build process to add docker specific capabilities like 
multi-stage builds
* Explore using grafts or masking to reduce final image size

** NOTE:** I know this is a bit weak - I don't know enough about this myself 
yet - is this even a good target - I think it's interesting for scientific 
computing?

3. Add sandboxing to guix packages
Improving the security for end-users by implementing optional sandboxing for 
desktop applications. The likes of Bubblewrap and Flatseal are available for 
Linux. There's some existing Nix prior-art that could be a good starting point 
(https://nixos.wiki/wiki/Firejail) and (https://sr.ht/~fgaz/nix-bubblewrap/)

* Figure out which of the available options is the most sustainable
* Integrate policys and implementation into high-profile packages
* Stretch would be to create a Guile native library / approach

Anyone interested in these - willing to mentor/co-mentor with me?

On  4 Mar, Gábor Boskovits wrote:
> Hello guix,
> 
> I coordinated with the GNU org admins, and we can still do this round,
> but we have to go fast to make this happen. I have already taken the
> initiative to try to get an ideas page up, now I would like to confirm
> if the mentors from last year are still available, and that the ideas
> are still valid.
> 
> Hereby I quickly collected the projects with the respective mentors,
> please pm me your availability:
> 
> Decentralized substitute distribution
> pukkamustard (pukkamustard [at] posteo [dot] net)
> attila.lendvai (ethswarm.org, scheme)
> 
> Robustify long-term support for Reproducible Research
> Simon Tournier (zimoun)
> 
> Develop a Web interface to configure Guix System
> Ludovic Courtès (civodul)
> 
> Trusted computing: Goblins for GNU Guix
> Christopher Webber, Ludovic Courtès and Pjotr Prins
> 
> Guix Data Service revision processing instrumentation and performance
> Christopher Baines
> 
> Guile based build-tool
> Pjotr Prins
> 
> GNU Guix system monitor
> Pjotr Prins
> 
> Booting via network
> Danny Milosavljevic
> 
> Syntax and semantics of systemd units in the Shepherd
> Ludovic Courtès (civodul)
> 
> GNUnet integration
> no mentor available
> 
> Adding modules in support of continuous integration to cuirass
> Ludovic Courtès (civodul)
> 
> Continue rewrite build daemon in Guile Scheme
> Ludovic Courtès (civodul)
> 
> I myself am available to co-mentor, and also to be the formal mentor
> in case someone does not feel like doing the official dance with
> Google. Currently I can commit to devoting two hours a week to this.
> 
> Regards,
> g_bor
> 



reply via email to

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