python312Packages.shiv: 1.0.7 -> 1.0.8 (#364744)
[NixPkgs.git] / nixos / modules / services / hardware / tuxedo-rs.nix
blobaa292f305151e488a101ebf38929249b41a8865c
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
7 let
8   cfg = config.hardware.tuxedo-rs;
12   options = {
13     hardware.tuxedo-rs = {
14       enable = lib.mkEnableOption "Rust utilities for interacting with hardware from TUXEDO Computers";
16       tailor-gui.enable = lib.mkEnableOption "tailor-gui, an alternative to TUXEDO Control Center, written in Rust";
17     };
18   };
20   config = lib.mkIf cfg.enable (
21     lib.mkMerge [
22       {
23         hardware.tuxedo-drivers.enable = true;
25         systemd = {
26           services.tailord = {
27             enable = true;
28             description = "Tuxedo Tailor hardware control service";
29             after = [ "systemd-logind.service" ];
30             wantedBy = [ "multi-user.target" ];
32             serviceConfig = {
33               Type = "dbus";
34               BusName = "com.tux.Tailor";
35               ExecStart = "${pkgs.tuxedo-rs}/bin/tailord";
36               Environment = "RUST_BACKTRACE=1";
37               Restart = "on-failure";
38             };
39           };
40         };
42         services.dbus.packages = [ pkgs.tuxedo-rs ];
44         environment.systemPackages = [ pkgs.tuxedo-rs ];
45       }
46       (lib.mkIf cfg.tailor-gui.enable {
47         environment.systemPackages = [ pkgs.tailor-gui ];
48       })
49     ]
50   );
52   meta.maintainers = with lib.maintainers; [ mrcjkb ];