···2121 ###### implementation
22222323 config = mkIf config.hardware.usbWwan.enable {
2424+ # Attaches device specific handlers.
2425 services.udev.packages = with pkgs; [ usb-modeswitch-data ];
2626+2727+ # Triggered by udev, usb-modeswitch creates systemd services via a
2828+ # template unit in the usb-modeswitch package.
2929+ systemd.packages = with pkgs; [ usb-modeswitch ];
3030+3131+ # The systemd service requires the usb-modeswitch-data. The
3232+ # usb-modeswitch package intends to discover this via the
3333+ # filesystem at /usr/share/usb_modeswitch, and merge it with user
3434+ # configuration in /etc/usb_modeswitch.d. Configuring the correct
3535+ # path in the package is difficult, as it would cause a cyclic
3636+ # dependency.
3737+ environment.etc."usb_modeswitch.d".source = "${pkgs.usb-modeswitch-data}/share/usb_modeswitch";
2538 };
2639}
···99 sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff";
1010 };
11111212- inherit (usb-modeswitch) makeFlags;
1212+ makeFlags = [
1313+ "PREFIX=$(out)"
1414+ "DESTDIR=$(out)"
1515+ ];
13161417 prePatch = ''
1515- sed -i 's@usb_modeswitch@${usb-modeswitch}/bin/usb_modeswitch@g' 40-usb_modeswitch.rules
1818+ sed -i 's@usb_modeswitch@${usb-modeswitch}/lib/udev/usb_modeswitch@g' 40-usb_modeswitch.rules
1619 '';
17201821 # we add tcl here so we can patch in support for new devices by dropping config into