1 { config, lib, pkgs, ... }:
3 cfg = config.hardware.tuxedo-rs;
9 enable = lib.mkEnableOption "Rust utilities for interacting with hardware from TUXEDO Computers";
11 tailor-gui.enable = lib.mkEnableOption "tailor-gui, an alternative to TUXEDO Control Center, written in Rust";
15 config = lib.mkIf cfg.enable (lib.mkMerge [
17 hardware.tuxedo-keyboard.enable = true;
22 description = "Tuxedo Tailor hardware control service";
23 after = [ "systemd-logind.service" ];
24 wantedBy = [ "multi-user.target" ];
28 BusName = "com.tux.Tailor";
29 ExecStart = "${pkgs.tuxedo-rs}/bin/tailord";
30 Environment = "RUST_BACKTRACE=1";
31 Restart = "on-failure";
36 services.dbus.packages = [ pkgs.tuxedo-rs ];
38 environment.systemPackages = [ pkgs.tuxedo-rs ];
40 (lib.mkIf cfg.tailor-gui.enable {
41 environment.systemPackages = [ pkgs.tailor-gui ];
45 meta.maintainers = with lib.maintainers; [ mrcjkb ];