diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index a3b711d1388e..95d5a80b7330 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -209,6 +209,16 @@
services.opensnitch.rules
+
+
+ The module usbmuxd now has the ability to
+ change the package used by the daemon. In case you’re
+ experiencing issues with usbmuxd you can
+ try an alternative program like usbmuxd2.
+ Available as
+ services.usbmuxd.package
+
+ services.mastodon gained a tootctl wrapped
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index d2cc43a5dffc..de376a7403b9 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -61,6 +61,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The module for the application firewall `opensnitch` got the ability to configure rules. Available as [services.opensnitch.rules](#opt-services.opensnitch.rules)
+- The module `usbmuxd` now has the ability to change the package used by the daemon. In case you're experiencing issues with `usbmuxd` you can try an alternative program like `usbmuxd2`. Available as [services.usbmuxd.package](#opt-services.usbmuxd.package)
+
- `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables.
- The `dnsmasq` service now takes configuration via the
diff --git a/nixos/modules/services/hardware/usbmuxd.nix b/nixos/modules/services/hardware/usbmuxd.nix
index b4c954906dd3..9466ea26995b 100644
--- a/nixos/modules/services/hardware/usbmuxd.nix
+++ b/nixos/modules/services/hardware/usbmuxd.nix
@@ -13,6 +13,7 @@ in
{
options.services.usbmuxd = {
+
enable = mkOption {
type = types.bool;
default = false;
@@ -39,6 +40,15 @@ in
The group usbmuxd should use to run after startup.
'';
};
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.usbmuxd;
+ defaultText = literalExpression "pkgs.usbmuxd";
+ description = lib.mdDoc "Which package to use for the usbmuxd daemon.";
+ relatedPackages = [ "usbmuxd" "usbmuxd2" ];
+ };
+
};
config = mkIf cfg.enable {
@@ -68,7 +78,7 @@ in
# Trigger the udev rule manually. This doesn't require replugging the
# device when first enabling the option to get it to work
ExecStartPre = "${pkgs.udev}/bin/udevadm trigger -s usb -a idVendor=${apple}";
- ExecStart = "${pkgs.usbmuxd}/bin/usbmuxd -U ${cfg.user} -f";
+ ExecStart = "${cfg.package}/bin/usbmuxd -U ${cfg.user} -v";
};
};