https://github.com/codgician/mlnx-ofed-nixos
(WIP) Mellanox mlnx-ofed drivers for NixOS
https://github.com/codgician/mlnx-ofed-nixos
Last synced: about 1 year ago
JSON representation
(WIP) Mellanox mlnx-ofed drivers for NixOS
- Host: GitHub
- URL: https://github.com/codgician/mlnx-ofed-nixos
- Owner: codgician
- License: mit
- Created: 2025-03-03T16:20:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-16T13:20:08.000Z (about 1 year ago)
- Last Synced: 2025-03-16T13:25:56.277Z (about 1 year ago)
- Language: Nix
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mlnx-ofed-nixos
[](https://github.com/codgician/mlnx-ofed-nixos/actions/workflows/build.yml)
A small subset of Mellanox OFED packages ported to NixOS.
## Warning
This project is experimental and may stay experimental for a long time. Not all packages are fully tested, because I don't have the hardware to validate some of the scenarios like InfiniBand. Any help or suggestions are welcomed.
## Binary cache
- Address: `https://mlnx-ofed-nixos.cachix.org`
- Public key: `mlnx-ofed-nixos.cachix.org-1:jL/cqleOzhPw87etuHMeIIdAgFDKX8WnTBYMSBx3toI=`
## Quick start
### With flakes
This flake provides:
- `overlays.default` for adding packages into your `pkgs`
- `nixosModules.default` for easy configuration
A simple example flake would be:
```nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
mlnx-ofed-nixos = {
url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@inputs: {
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Add packages from this repo and set up binary cache
inputs.mlnx-ofed-nixos.nixosModules.setupCacheAndOverlays
# Add configuration options from this repo
inputs.mlnx-ofed-nixos.nixosModules.default
# Example configuration
({ config, ... }: {
hardware.mlnx-ofed = {
enable = true;
fwctl.enable = true;
nvme.enable = true;
nfsrdma.enable = true;
kernel-mft.enable = true;
};
})
];
};
};
}
```