diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 2c78a6d7c5a7..ae98d9123d5e 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -150,6 +150,8 @@ - [ringboard](https://github.com/SUPERCILEX/clipboard-history), a fast, efficient, and composable clipboard manager for Linux. Available for x11 as [services.ringboard](#opt-services.ringboard.x11.enable) and for wayland as [services.ringboard](#opt-services.ringboard.wayland.enable). +- [Tenstorrent](https://tenstorrent.com) hardware module has been added. + ## Backward Incompatibilities {#sec-release-25.11-incompatibilities} diff --git a/nixos/modules/hardware/tenstorrent.nix b/nixos/modules/hardware/tenstorrent.nix new file mode 100644 index 000000000000..7c3fa2b92cb0 --- /dev/null +++ b/nixos/modules/hardware/tenstorrent.nix @@ -0,0 +1,29 @@ +{ + config, + pkgs, + lib, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + inherit (config.boot.kernelPackages) tt-kmd; + + cfg = config.hardware.tenstorrent; +in +{ + options.hardware.tenstorrent.enable = mkEnableOption "Tenstorrent driver & utilities"; + + config = mkIf cfg.enable { + boot = { + extraModulePackages = [ tt-kmd ]; + kernelModules = [ "tenstorrent" ]; + }; + + services.udev.packages = [ + tt-kmd + ]; + + # TODO: add tt-smi to environment.systemPackages once https://github.com/NixOS/nixpkgs/pull/444714 is merged + # TODO: add tt-system-tools to environment.systemPackages once https://github.com/NixOS/nixpkgs/pull/444748 is merged + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index cda428430449..a8ebddbd019d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -109,6 +109,7 @@ ./hardware/sheep-net.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix + ./hardware/tenstorrent.nix ./hardware/tuxedo-drivers.nix ./hardware/ubertooth.nix ./hardware/uinput.nix