29
Guix, GuixSD, and getting to 1.0 Ludovic Court ` es GNU Hackers Meeting Kn¨ ullwald-Niederbeisheim, August 2017

Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

Guix, GuixSD, and getting to 1.0

Ludovic Courtes

GNU Hackers MeetingKnullwald-Niederbeisheim, August 2017

Page 2: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

agenda

I Seriously, who cares?I What’s new?I What’s missing?I What’s hot?!

Page 3: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

$ guix package -i gcc-toolchain coreutils sed grep

...

$ eval ‘guix package --search-paths‘

...

$ guix package --manifest=my-software.scm

...

I

Page 4: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

(operating-system

(host-name "schememachine")

(timezone "Europe/Berlin")

(locale "de_DE.utf8")

(bootloader (grub-configuration (device "/dev/sda")))

(file-systems (cons (file-system

(device "my-root")

(title ’label)

(mount-point "/")

(type "ext4"))

%base-file-systems))

(users (cons (user-account

(name "alice")

(group "users")

(home-directory "/home/alice"))

%base-user-accounts))

(services (cons* (service dhcp-client-service-type)

(service openssh-service-type

(openssh-configuration

(port-number 2222)))

%base-services)))

Page 5: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

So, is it relevant?

spoiler: yes it is!

Page 6: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

1. transactional, per-user package manager2. software environment manager

I like virtualenv, “modules”, Vagrant, Docker, etc.

3. VM/container provisioning toolI like Dockerfiles, but higher-level

4. OS deployment toolI (almost) like Ansible, Chef, Puppet, Propellor, etc.I ... and kinda like FreedomBox, Internet Cube/YunoHost

Page 7: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

What’s new?

Page 8: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

GuixSD surely works for you now!:-)

UEFI, LUKS on root, GNOME, 73 services, etc.

Page 9: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

6,000 packages,75% bit-reproducible

... and getting better

Page 10: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

$ guix pack guile emacs geiser

.../gnu/store/...-pack.tar.gz

Page 11: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨
Page 12: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

and also...

I Guix on aarch64I containerized system servicesI multiple bootloader supportI guix system disk-image supports ISO 9660I Git integration for guix pull

I MinGW, PowerPC, and Alpha (!) cross-compilationtargets

I ...

Page 13: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

updating the list of substitutes...

Page 14: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

berlin.guixsd.org

Page 15: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

berlin.guixsd.org

Thank you, Max Delbruck Center & Ricardo!

Page 16: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

What’s missing for 1.0?

Page 17: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

#1: faster guix pull,authenticated commits

Page 18: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

#2: stable, self-hostedinfrastructure: Cuirass, etc.

Page 19: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

#3: performance & UI improvements

Page 20: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

#4: fewer glitches in our workflow...I merge core-updates more quickly...I big set of updates frowned upon (GHC, Perl, Python, ...)I tame the patch & bug queuesI security updates need more peopleI build farm admin needs more automationI ...

Page 21: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

What’s hot?!

Page 22: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

high-performance computing (HPC)

I better Guix setups on clustersI better performanceI reproducible environmentsI Guix Workflow Language (Roel Janssen)

Page 23: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

high-performance computing (HPC)I better Guix setups on clustersI better performanceI reproducible environmentsI Guix Workflow Language (Roel Janssen)

Page 24: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

distributed Guix & “GuixOps”

I GUIX DAEMON SOCKET=ssh://host.example.org

I + remote code evaluation through Guile-SSHI = guix system reconfigure --remote=host ?

Page 25: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

distributed Guix & “GuixOps”

I GUIX DAEMON SOCKET=ssh://host.example.org

I + remote code evaluation through Guile-SSHI = guix system reconfigure --remote=host ?

Page 26: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

I the potluck (Alex’s talk tomorrow!)I GuixSD on ARM? (Mathieu’s talk today!)I bootstrappable.org & Mes (Ricardo’s talk tomorrow!)I GuixSD ncurses installer (John’s FOSDEM talk)I build daemon written in Guile (reepca, GSoC 2017)I get substitutes from your neighbors with AvahiI search & on-line doc of system servicesI your project here

Page 27: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

Join us now!Get yourself a sticker too!

Page 28: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

[email protected] https://gnu.org/software/guix/

Page 29: Guix, GuixSD, and getting to 1 - Free software · 2017-09-25 · Guix, GuixSD, and getting to 1.0 Ludovic Courtes` GNU Hackers Meeting Knullwald-Niederbeisheim, August 2017¨

Copyright c© 2010, 2012–2017 Ludovic Courtes [email protected].

GNU Guix logo, CC-BY-SA 4.0, http://gnu.org/s/guix/graphicsCopyright of other images included in this document is held by their respective owners.

This work is licensed under the Creative Commons Attribution-Share Alike 3.0 License. To view a copy of this license, visithttp://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300,San Francisco, California, 94105, USA.

At your option, you may instead copy, distribute and/or modify this document under the terms of the GNU Free DocumentationLicense, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, noFront-Cover Texts, and no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/licenses/gfdl.html.

The source of this document is available from http://git.sv.gnu.org/cgit/guix/maintenance.git.