Is there a way to install official Tuxedo Control Center?

The repo/module mentioned in the TUXEDO Devices - NixOS Wiki is archived and tuxedo-rs has compatibility problems with my computer while original Tuxedo Control Center in TuxedoOS with liveCD boot has no problems.

Is there a way to install official Tuxedo Control Center in NixOS?

Try the archived project tuxedo-nixos anyway.
Or one of its forks, like Chamnie one.
Or make your own fork, ask @blitz if there is any hint or advise.

I tried the original one and forks but seems like all giving errors like this:
error: electron_13 has been removed in favor of newer versions
I will try to make my own fork. Thanks for advice.

comment this line

	  inputs.nixpkgs.follows = "nixpkgs";

or add another input to your flake.nix

  inputs = {
	nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
    nixpkgs2305.url = "github:NixOS/nixpkgs/release-23.05";
	tuxedo-nixos = {
	  url = "github:liketechnik/tuxedo-nixos";
	  inputs.nixpkgs.follows = "nixpkgs2305";
	};
  };
2 Likes

I don’t know why but that also doesn’t work.

{
	inputs = {
		nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
		nixpkgs-2305.url = "github:nixos/nixpkgs/nixos-23.05"; # also tried nixpkgs-23.05
		nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";

		home-manager = {
			url = "github:nix-community/home-manager/release-24.05";
			inputs.nixpkgs.follows = "nixpkgs";
		};

		nixvim = {
    		url = "github:nix-community/nixvim/nixos-24.05";
    		inputs.nixpkgs.follows = "nixpkgs";
  		};

		tuxedo-nixos = {
	  		url = "github:chmanie/tuxedo-nixos";  # also tried github:liketechnik/tuxedo-nixos
	  		inputs.nixpkgs.follows = "nixpkgs-2305";  # also tried commenting this line
		};
	};

	outputs = inputs@{ nixpkgs, nixpkgs-unstable, home-manager, nixvim, tuxedo-nixos, ... }: let inherit (import ./variables.nix) username hostname systemarch; in {
		nixosConfigurations = {
			${hostname} = nixpkgs.lib.nixosSystem {
				system = "${systemarch}";
				modules = [
					({ config, pkgs, ... }:
					let overlay-unstable = final: prev: {
						unstable = import inputs.nixpkgs-unstable {
							system = final.system;
							config.allowUnfree = true;
						};
					};
					in {
						nixpkgs.overlays = [ overlay-unstable ]; 
					})

					/etc/nixos/hardware-configuration.nix

					./modules/system # points to default.nix in that directory

					tuxedo-nixos.nixosModules.default
					{ hardware.tuxedo-control-center.enable = true; }

					home-manager.nixosModules.home-manager {
						home-manager.useGlobalPkgs = true;
						home-manager.useUserPackages = true;
						home-manager.sharedModules = [
              						nixvim.homeManagerModules.nixvim
						];
						home-manager.users.${username} = import ./modules/home;
					}
				];
			};
		};
	};
}

i also tried adding new nixpkgs as output.

The problem is that the original module.nix uses call package from pkgs

Add package to your tuxedo config modules to your flake

{
   hardware.tuxedo-control-center.enable  = true;
   hardware.tuxedo-control-center.package = tuxedo-nixos.packages.x86_64-linux.default;
}

Thank you, probably the solution is that.

I will try it when the latest version of tuxedo-keyboard module/driver (it is renamed to tuxedo-drivers) arrives to NixOS.

1 Like

There is another flake, which is quite hard to find, which provides updated tuxedo control center versions:

2 Likes

thank you, that link worked for me! CPU and fan unning very smootha gain now…

They finally upgraded to latest LTS of nodejs with the > 3 release of the tuxedo control center. So maybe even upstream package support can be aimed for now?

I’d like to get rid of this package because of it’s size.

Recently some changes were made to Linux kernel (6.19) to support Tuxedo laptops out-of-the-box:

The Uniwill laptop driver was upstreamed in providing more features under Linux for Uniwill laptops that is also the manufacturer of TUXEDO Computers laptops and more. The Unwill Linux driver provides battery charge rate limiting, RGB light-bar controls, hardware monitoring, better hotkey handling, and other features.

The last time I tried a few weeks ago, the module was still disabled.