nixpkgs/nixos/modules/hardware/usb-wwan.nix

40 lines
1.1 KiB
Nix
Raw Normal View History

2017-02-18 03:35:58 +00:00
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
hardware.usbWwan = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable this option to support USB WWAN adapters.
'';
};
};
};
###### implementation
config = mkIf config.hardware.usbWwan.enable {
2019-05-05 08:23:32 +00:00
# Attaches device specific handlers.
2017-02-18 03:35:58 +00:00
services.udev.packages = with pkgs; [ usb-modeswitch-data ];
2019-05-05 08:23:32 +00:00
# Triggered by udev, usb-modeswitch creates systemd services via a
# template unit in the usb-modeswitch package.
systemd.packages = with pkgs; [ usb-modeswitch ];
# The systemd service requires the usb-modeswitch-data. The
# usb-modeswitch package intends to discover this via the
# filesystem at /usr/share/usb_modeswitch, and merge it with user
# configuration in /etc/usb_modeswitch.d. Configuring the correct
# path in the package is difficult, as it would cause a cyclic
# dependency.
environment.etc."usb_modeswitch.d".source = "${pkgs.usb-modeswitch-data}/share/usb_modeswitch";
2017-02-18 03:35:58 +00:00
};
}