From 2e4808465d7ea5cbff0486a515cd67e3370877ce Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 2 May 2021 22:04:00 +0200 Subject: locale: Remove glibc 2.29 from '%default-locale-libcs'. Having 2.29 is most likely no longer justified. Removing it reduces the closure size returned by: guix size $(guix system build gnu/system/install.scm) from 1.6G to 1.5G. * gnu/system/locale.scm (%default-locale-libcs): Remove GLIBC-2.29. --- gnu/system/locale.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/system') diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index 689d238d1a..18bbe5ba32 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2018 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -148,7 +148,7 @@ data format changes between libc versions." (define %default-locale-libcs ;; The libcs for which we build locales by default. ;; List the previous and current libc to ease transition. - (list glibc-2.29 glibc)) + (list glibc)) (define %default-locale-definitions ;; Arbitrary set of locales that are built by default. They are here mostly -- cgit v1.2.3 From 3ab48ed6cd4b1f87a4c339b172dd8a107478654c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 5 May 2021 12:07:39 -0400 Subject: gnu: system: Add SPICE capability to the VM image. * gnu/system/examples/vm-image.tmpl (services) [spice-vdagent-service-type]: Add service. [slim-service-type] : Add the xf86-video-qxl module. --- gnu/system/examples/vm-image.tmpl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu/system') diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl index bcb2ba614c..1a2dfca452 100644 --- a/gnu/system/examples/vm-image.tmpl +++ b/gnu/system/examples/vm-image.tmpl @@ -5,7 +5,7 @@ ;; (use-modules (gnu) (guix) (srfi srfi-1)) -(use-service-modules desktop networking ssh xorg) +(use-service-modules desktop networking spice ssh xorg) (use-package-modules bootloaders certs fonts nvi package-management wget xorg) @@ -75,11 +75,20 @@ root ALL=(ALL) ALL (default-user "guest") (xorg-configuration (xorg-configuration + ;; The QXL virtual GPU driver is added to provide + ;; a better SPICE experience. + (modules (cons xf86-video-qxl + %default-xorg-modules)) (keyboard-layout keyboard-layout))))) ;; Uncomment the line below to add an SSH server. ;;(service openssh-service-type) + ;; Add support for the SPICE protocol, which enables dynamic + ;; resizing of the guest screen resolution, clipboard + ;; integration with the host, etc. + (service spice-vdagent-service-type) + ;; Use the DHCP client service rather than NetworkManager. (service dhcp-client-service-type)) -- cgit v1.2.3 From 945ad48cd8029fa77a643e00c7fd350e98cacca0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 9 May 2021 23:40:34 -0400 Subject: system: vm-image.tmpl: Add a crutch to allow refreshing the resolution. Inspired by https://github.com/jollheef/appvm/commit/1270b2e209bc002e69bbe6351ad5b04b7facfcc8. The price to pay is about 5% of a CPU core usage in the guest in the worst scenario. * gnu/system/examples/vm-image.tmpl (auto-update-resolution-crutch): New mcron job. [services]: Extend the mcron-service with it. --- gnu/system/examples/vm-image.tmpl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gnu/system') diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl index 1a2dfca452..697019e877 100644 --- a/gnu/system/examples/vm-image.tmpl +++ b/gnu/system/examples/vm-image.tmpl @@ -5,7 +5,7 @@ ;; (use-modules (gnu) (guix) (srfi srfi-1)) -(use-service-modules desktop networking spice ssh xorg) +(use-service-modules desktop mcron networking spice ssh xorg) (use-package-modules bootloaders certs fonts nvi package-management wget xorg) @@ -24,6 +24,18 @@ Run '\x1b[1;37minfo guix\x1b[0m' to browse documentation. accounts.\x1b[0m ")) +;;; XXX: Xfce does not implement what is needed for the SPICE dynamic +;;; resolution to work (see: +;;; https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142). Workaround it +;;; by manually invoking xrandr every second. +(define auto-update-resolution-crutch + #~(job '(next-second) + (lambda () + (setenv "DISPLAY" ":0.0") + (setenv "XAUTHORITY" "/home/guest/.Xauthority") + (execl (string-append #$xrandr "/bin/xrandr") "xrandr" "-s" "0")) + #:user "guest")) + (operating-system (host-name "gnu") (timezone "Etc/UTC") @@ -89,6 +101,9 @@ root ALL=(ALL) ALL ;; integration with the host, etc. (service spice-vdagent-service-type) + (simple-service 'cron-jobs mcron-service-type + (list auto-update-resolution-crutch)) + ;; Use the DHCP client service rather than NetworkManager. (service dhcp-client-service-type)) -- cgit v1.2.3