# Updating firmware with fwupdmgr

**URL:** <https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766>\
**Category:** Guix\
**Tags:** guix\
**Created:** [August 19, 2025, 3:52am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766 "2025-08-19T03:52:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![wegei8](https://avatars.discourse-cdn.com/v4/letter/w/53a042/32.png) [@wegei8](https://forum.systemcrafters.net/u/wegei8)\
**Post date:** [August 19, 2025, 3:52am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/1 "2025-08-19T03:52:36Z")

</div>

Is this possible in Guix? I just added this to my `home.scm`.

```diff
diff --git a/home.scm b/home.scm
index 08240d2..c047c36 100644
--- a/home.scm
+++ b/home.scm
@@ -6,6 +6,7 @@
              (gnu packages admin)
              (gnu packages base)
              (gnu packages file)
+ (gnu packages firmware)
              (gnu packages freedesktop)
              (gnu packages glib)
              (gnu packages librewolf)
@@ -26,6 +27,7 @@
                   difftastic
                   file
                   flatpak
+ fwupd
                   git
                   `(,glib "bin")
                   glibc

```

and then ran `guix home reconfigure home.scm`.

But then I got this error.

```plaintext
$ fwupdmgr get-updates
Failed to connect to daemon: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.fwupd was not provided by any .service files

```

---

<div class="post-metadata">

**Author:** ![dgr](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/dgr/32/394_2.png) [@dgr](https://forum.systemcrafters.net/u/dgr)\
**Post date:** [August 20, 2025, 6:58am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/2 "2025-08-20T06:58:50Z")

</div>

I’ve tried to use it as well but in my system config with KDE Plasma and in the info tool I get the same error.

---

<div class="post-metadata">

**Author:** ![paul](https://avatars.discourse-cdn.com/v4/letter/p/bbe5ce/32.png) [@paul](https://forum.systemcrafters.net/u/paul)\
**Post date:** [August 22, 2025, 8:18am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/3 "2025-08-22T08:18:27Z")

</div>

There is one Guix System service which should fix this error and one fwupd-nonfree package in nonguix, it should be possible to put them together and try but I never had the time

---

<div class="post-metadata">

**Author:** ![logoraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/logoraz/32/1133_2.png) [@logoraz](https://forum.systemcrafters.net/u/logoraz)\
**Post date:** [October 8, 2025, 3:39am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/4 "2025-10-08T03:39:48Z")

</div>

I’ve recently tried adding `fwupd` (at the system level) and originally got the same error. Thought perhaps `guix-fwupd-service-type` existed, but seems to still be pending based the following issues thread: [[PATCH 1/2] gnu: Add fwupd service.](https://issues.guix.gnu.org/60699)

However, in that thread it does gives the following work-around:

```scm
   (simple-service 'dbus-fwupd
                   dbus-root-service-type
                   (list fwupd))

   (simple-service 'polkit-fwupd
                   polkit-service-type
                   (list fwupd))

```

I gave this a go, and it worked in resolving the above error. But, now I get the following errors(?) when trying the following:

```shell
logoraz@framework ~$ fwupdmgr refresh --force
Failed to open polkit agent: missing executable pkttyagent in PATH
No remotes are currently enabled so no metadata is available.
Metadata can be obtained from the Linux Vendor Firmware Service.
Enable this remote? [Y|n]: y
Authenticating… [-]
Failed to obtain auth

```

…and

```shell
logoraz@framework ~$ fwupdmgr get-updates
Failed to open polkit agent: missing executable pkttyagent in PATH
Devices with no available firmware updates: 
 • Fingerprint Sensor
 • Laptop Webcam Module (2nd Gen)
 • System Firmware
 • UEFI dbx
 • WD BLACK SN850X 1000GB
No updatable devices

```

This is as far as I’ve got on this… Any ideas?

---

<div class="post-metadata">

**Author:** ![trev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/trev/32/81_2.png) [@trev](https://forum.systemcrafters.net/u/trev)\
**Post date:** [October 8, 2025, 11:34am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/5 "2025-10-08T11:34:01Z")

</div>

Here is my `fwupd-service-type` :

```scheme
(define-module (trev-guix services fwupd)
  #:use-module (gnu services)
  #:use-module (gnu services admin)
  #:use-module (gnu services dbus)
  #:use-module (gnu services shepherd)
  #:use-module (guix gexp)
  #:use-module (guix records)
  #:use-module (nongnu packages firmware))

(define-record-type* <fwupd-configuration>
  fwupd-configuration make-fwupd-configuration
  fwupd-configuration?
  (fwupd fwupd-configuration-fwupd
         (default fwupd-nonfree)))

(define (fwupd-activation config)
    (with-imported-modules '((guix build utils))
      #~(begin
          (use-modules (guix build utils))
          (mkdir-p "/var/cache/fwupd")
          (mkdir-p "/var/lib/fwupd/local.d")
          (mkdir-p "/var/lib/fwupd/"))))

(define-public fwupd-service-type
  (let ((fwupd-package (compose list fwupd-configuration-fwupd)))
    (service-type
     (name 'fwupd)
     (extensions
      (list (service-extension polkit-service-type fwupd-package)
	    (service-extension dbus-root-service-type fwupd-package)
            (service-extension activation-service-type fwupd-activation)))
     (default-value (fwupd-configuration))
     (description "A service that runs the necessary daemons for fwupd."))))

```

Works for me!

---

<div class="post-metadata">

**Author:** ![logoraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/logoraz/32/1133_2.png) [@logoraz](https://forum.systemcrafters.net/u/logoraz)\
**Post date:** [October 8, 2025, 1:15pm UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/6 "2025-10-08T13:15:57Z")

</div>

Thanks - I’ll give this a try and see if it works for me as well, appreciate the help!

EDIT: Just tried it and it works! Needed the `fwupd-activation` you implemented.

`fwupdmgr refresh --force` still complains:

```auto
Failed to open polkit agent: missing executable pkttyagent in PATH

```

But suppose this is not needed on guix, wonder if the fwupd package should be patched so that it doesn’t emit this message…

Again, thanks a lot for the help!

---

<div class="post-metadata">

**Author:** ![trev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/trev/32/81_2.png) [@trev](https://forum.systemcrafters.net/u/trev)\
**Post date:** [October 8, 2025, 1:54pm UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/7 "2025-10-08T13:54:53Z")

</div>

> [@logoraz](#):
>
> ```auto
> Failed to open polkit agent: missing executable pkttyagent in PATH
> 
> ```

I didn’t see this message before. Did you restart? I used `fwupdmgr refresh –-force`. BTW I am using the nonguix `fwupd-nonfree` package.

---

<div class="post-metadata">

**Author:** ![logoraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/logoraz/32/1133_2.png) [@logoraz](https://forum.systemcrafters.net/u/logoraz)\
**Post date:** [October 9, 2025, 1:58am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/8 "2025-10-09T01:58:45Z")

</div>

I just trialed `fwupd-nonfree` from `(nongnu packages firmeware)` and am still getting that message as well. 🤔

Either way, it is better for me to have `fwupd-nonfree` as it has support for nonfree LVFS repository.

---

<div class="post-metadata">

**Author:** ![dgr](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/dgr/32/394_2.png) [@dgr](https://forum.systemcrafters.net/u/dgr)\
**Post date:** [October 26, 2025, 10:26pm UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/9 "2025-10-26T22:26:58Z")

</div>

Installing `polkit` fixed `missing executable pkttyagent in PATH` for me.

---

<div class="post-metadata">

**Author:** ![logoraz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/logoraz/32/1133_2.png) [@logoraz](https://forum.systemcrafters.net/u/logoraz)\
**Post date:** [October 27, 2025, 12:30am UTC](https://forum.systemcrafters.net/t/updating-firmware-with-fwupdmgr/1766/10 "2025-10-27T00:30:32Z")

</div>

Awesome- thank you! I forgot about this, but just installed `polkit` and the warning message vanished!
