summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorGiacomo Leidi <therewasa@fishinthecalculator.me>2026-01-06 11:17:19 +0100
committerSughosha <sughosha@disroot.org>2026-05-06 19:41:09 +0530
commit126a51d0e53a829b4ea49826cd4ef70037c32656 (patch)
tree104e927cc9979fe55dc99480977829055e391152 /gnu
parent04b1cac9b713d1f7afb1c56a851ce1ec5a0da645 (diff)
gnu: Add fwupd-service-type.
* gnu/services/firmware.scm: New file. (fwupd-configuration): New configuration record. (fwupd-service-type): New service type. * gnu/local.mk: Add it. * doc/guix.texi: Document it. Change-Id: Ibea27566d6ae64ccfdfdd2750be006df1ffde22d Signed-off-by: Sughosha <sughosha@disroot.org> Merges: guix/guix!5409
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/services/firmware.scm54
2 files changed, 55 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index db2e45e9564..47d41bdf0bc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -756,6 +756,7 @@ GNU_SYSTEM_MODULES = \
756 %D%/services/docker.scm \ 756 %D%/services/docker.scm \
757 %D%/services/authentication.scm \ 757 %D%/services/authentication.scm \
758 %D%/services/file-sharing.scm \ 758 %D%/services/file-sharing.scm \
759 %D%/services/firmware.scm \
759 %D%/services/games.scm \ 760 %D%/services/games.scm \
760 %D%/services/ganeti.scm \ 761 %D%/services/ganeti.scm \
761 %D%/services/getmail.scm \ 762 %D%/services/getmail.scm \
diff --git a/gnu/services/firmware.scm b/gnu/services/firmware.scm
new file mode 100644
index 00000000000..d96b1c01981
--- /dev/null
+++ b/gnu/services/firmware.scm
@@ -0,0 +1,54 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu services firmware)
20 #:use-module (gnu packages firmware)
21 #:use-module (gnu services)
22 #:use-module (gnu services base)
23 #:use-module (gnu services configuration)
24 #:use-module (gnu services dbus)
25 #:use-module (guix packages)
26 #:use-module (guix gexp)
27 #:export (fwupd-configuration
28 fwupd-configuration?
29 fwupd-configuration-fields
30 fwupd-configuration-fwupd
31
32 fwupd-service-type))
33
34(define-configuration/no-serialization fwupd-configuration
35 (fwupd
36 (package fwupd)
37 "The fwupd package that will be installed in the system profile."))
38
39(define fwupd-service-type
40 (service-type
41 (name 'fwupd)
42 (extensions
43 (list
44 (service-extension profile-service-type
45 (compose list fwupd-configuration-fwupd))
46 (service-extension dbus-root-service-type
47 (compose list fwupd-configuration-fwupd))
48 (service-extension udev-service-type
49 (compose list fwupd-configuration-fwupd))
50 (service-extension polkit-service-type
51 (compose list fwupd-configuration-fwupd))))
52 (default-value (fwupd-configuration))
53 (description
54 "This service runs the fwupd daemon on the Guix System.")))