vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / hardware / pcmcia.nix
blob557925018d687406a06fbff617cfd1d0cb684775
1 { config, lib, pkgs, ... }:
2 let
3   pcmciaUtils = pkgs.pcmciaUtils.passthru.function {
4     inherit (config.hardware.pcmcia) firmware config;
5   };
6 in
9   ###### interface
10   options = {
12     hardware.pcmcia = {
13       enable = lib.mkOption {
14         type = lib.types.bool;
15         default = false;
16         description = ''
17           Enable this option to support PCMCIA card.
18         '';
19       };
21       firmware = lib.mkOption {
22         type = lib.types.listOf lib.types.path;
23         default = [];
24         description = ''
25           List of firmware used to handle specific PCMCIA card.
26         '';
27       };
29       config = lib.mkOption {
30         default = null;
31         type = lib.types.nullOr lib.types.path;
32         description = ''
33           Path to the configuration file which maps the memory, IRQs
34           and ports used by the PCMCIA hardware.
35         '';
36       };
37     };
38   };
40   ###### implementation
42   config = lib.mkIf config.hardware.pcmcia.enable {
44     boot.kernelModules = [ "pcmcia" ];
46     services.udev.packages = [ pcmciaUtils ];
48     environment.systemPackages = [ pcmciaUtils ];
50   };