1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7let
8 cfg = config.services.hardware.bolt;
9in
10{
11 options = {
12 services.hardware.bolt = {
13 enable = lib.mkOption {
14 type = lib.types.bool;
15 default = false;
16 description = ''
17 Whether to enable Bolt, a userspace daemon to enable
18 security levels for Thunderbolt 3 on GNU/Linux.
19
20 Bolt is used by GNOME 3 to handle Thunderbolt settings.
21 '';
22 };
23
24 package = lib.mkPackageOption pkgs "bolt" { };
25 };
26 };
27
28 config = lib.mkIf cfg.enable {
29 environment.systemPackages = [ cfg.package ];
30 services.udev.packages = [ cfg.package ];
31 systemd.packages = [ cfg.package ];
32 };
33}