1 { config, lib, pkgs, ... }:
6 cfg = config.hardware.tuxedo-rs;
11 hardware.tuxedo-rs = {
12 enable = mkEnableOption (lib.mdDoc "Rust utilities for interacting with hardware from TUXEDO Computers");
14 tailor-gui.enable = mkEnableOption (lib.mdDoc "tailor-gui, an alternative to TUXEDO Control Center, written in Rust");
18 config = mkIf cfg.enable (mkMerge [
20 hardware.tuxedo-keyboard.enable = true;
25 description = "Tuxedo Tailor hardware control service";
26 after = [ "systemd-logind.service" ];
27 wantedBy = [ "multi-user.target" ];
31 BusName = "com.tux.Tailor";
32 ExecStart = "${pkgs.tuxedo-rs}/bin/tailord";
33 Environment = "RUST_BACKTRACE=1";
34 Restart = "on-failure";
39 services.dbus.packages = [ pkgs.tuxedo-rs ];
41 environment.systemPackages = [ pkgs.tuxedo-rs ];
43 (mkIf cfg.tailor-gui.enable {
44 environment.systemPackages = [ pkgs.tailor-gui ];
48 meta.maintainers = with maintainers; [ mrcjkb ];