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