;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu services spice) #:use-module (gnu packages spice) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (guix gexp) #:use-module (guix records) #:export (spice-vdagent-configuration spice-vdagent-configuration? spice-vdagent-service-type spice-vdagent-service)) (define-record-type* spice-vdagent-configuration make-spice-vdagent-configuration spice-vdagent-configuration? (spice-vdagent spice-vdagent-configuration-spice-vdagent (default spice-vdagent))) (define (spice-vdagent-activation config) "Return the activation gexp for CONFIG." #~(begin (use-modules (guix build utils)) (mkdir-p "/var/run/spice-vdagentd"))) (define (spice-vdagent-shepherd-service config) "Return a for spice-vdagentd with CONFIG." (define spice-vdagent (spice-vdagent-configuration-spice-vdagent config)) (define spice-vdagentd-command (list (file-append spice-vdagent "/sbin/spice-vdagentd") "-x")) (list (shepherd-service (documentation "Spice vdagentd service") (requirement '(udev)) (provision '(spice-vdagentd)) (start #~(make-forkexec-constructor '#$spice-vdagentd-command)) (stop #~(make-kill-destructor))))) (define spice-vdagent-profile (compose list spice-vdagent-configuration-spice-vdagent)) (define spice-vdagent-service-type (service-type (name 'spice-vdagent) (extensions (list (service-extension shepherd-root-service-type spice-vdagent-shepherd-service) (service-extension activation-service-type spice-vdagent-activation) (service-extension profile-service-type spice-vdagent-profile))))) (define* (spice-vdagent-service #:optional (config (spice-vdagent-configuration))) "Start the @command{vdagentd} and @command{vdagent} daemons from @var{spice-vdagent} to enable guest window resizing and clipboard sharing." (service spice-vdagent-service-type config)) 'logmsg'> * etc/snippets/scheme-mode/guix-package: Add the following as possibilities for the build-system field: clojure-build-system copy-build-system dune-build-system guile-build-system julia-build-system linux-module-build-system maven-build-system node-build-system qt-build-system rakudo-build-system Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2020-12-04etc: snippets: Fix name extraction.Nicolas Goaziou * etc/snippets/text-mode/guix-commit-message-add-package: Fix name extraction. This is a follow-up to 988a49c78ef19ad25cef543e2059a19db04bbd36. 2020-12-04etc: snippets: Fix name extraction.Nicolas Goaziou * etc/snippets/text-mode/guix-commit-message-update-package: Since git commit mode is not derived from any Lisp mode, so-called sexp or symbols do not include the period character. As a consequence, names including versions are not properly extracted. Also use more idiomatic (goto-char (point-min)) instead of (beginning-of-buffer). 2020-11-25etc: snippets: Fix "gnu: Add ..." name when prefilling Common Lisp commits ↵Pierre Neidhardt messages. * etc/snippets/text-mode/guix-commit-message-add-cl-package: Fix name and simplify the "New variables" line. 2020-11-23etc: snippets: Prefill Common Lisp package names.Pierre Neidhardt * etc/snippets/text-mode/guix-commit-message-add-cl-package: New file. 2020-11-23etc: snippets: Fix package name extraction.Pierre Neidhardt * etc/snippets/text-mode/guix-commit-message-add-package: Properly extract name when the diff contains a very short `define-public ...` above the actual new package. This can happen when the above package is a small inherited definition or cl/ecl package. 2019-05-09Add (guix bzr-download).Maxim Cournoyer * guix/bzr-download.scm, guix/build/bzr.scm, etc/snippets/scheme-mode/guix-bzr-reference: New files. * Makefile.am (MODULES): Add them. * etc/snippets/scheme-mode/guix-origin: Add "bzr-fetch" to the origin choices.