nixos/preload: init
[NixPkgs.git] / nixos / modules / hardware / pcmcia.nix
blobf7a5565d773e68ded15f59e9d448754b73b4b38c
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
7   pcmciaUtils = pkgs.pcmciaUtils.passthru.function {
8     inherit (config.hardware.pcmcia) firmware config;
9   };
15   ###### interface
17   options = {
19     hardware.pcmcia = {
20       enable = mkOption {
21         type = types.bool;
22         default = false;
23         description = lib.mdDoc ''
24           Enable this option to support PCMCIA card.
25         '';
26       };
28       firmware = mkOption {
29         type = types.listOf types.path;
30         default = [];
31         description = lib.mdDoc ''
32           List of firmware used to handle specific PCMCIA card.
33         '';
34       };
36       config = mkOption {
37         default = null;
38         type = types.nullOr types.path;
39         description = lib.mdDoc ''
40           Path to the configuration file which maps the memory, IRQs
41           and ports used by the PCMCIA hardware.
42         '';
43       };
44     };
46   };
48   ###### implementation
50   config = mkIf config.hardware.pcmcia.enable {
52     boot.kernelModules = [ "pcmcia" ];
54     services.udev.packages = [ pcmciaUtils ];
56     environment.systemPackages = [ pcmciaUtils ];
58   };