feat(modules/hardware/nvidia): add nvidia configuration
This commit is contained in:
parent
2cd82e2e2a
commit
62f94ad85e
3 changed files with 30 additions and 6 deletions
|
@ -2,14 +2,21 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./btrfs.nix
|
./btrfs.nix
|
||||||
|
./nvidia.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options.hardware = {
|
||||||
hardware.drives.btrfs.enable = lib.mkEnableOption "";
|
drives.btrfs = {
|
||||||
hardware.drives.btrfs.drive = lib.mkOption {
|
enable = lib.mkEnableOption "";
|
||||||
|
drive = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
ephemeralRoot = lib.mkEnableOption "";
|
||||||
|
};
|
||||||
|
gpu = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "";
|
default = "";
|
||||||
};
|
};
|
||||||
hardware.drives.btrfs.ephemeralRoot = lib.mkEnableOption "";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
16
modules/nixos/hardware/nvidia.nix
Normal file
16
modules/nixos/hardware/nvidia.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
config = lib.mkIf (config.hardware.gpu == "nvidia") (lib.mkMerge [
|
||||||
|
{
|
||||||
|
#TODO: Setup CUDA
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
|
nvidia-vaapi-driver
|
||||||
|
];
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
hardware.nvidia.open = true;
|
||||||
|
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}
|
|
@ -5,6 +5,7 @@
|
||||||
drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
|
drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
|
||||||
ephemeralRoot = true;
|
ephemeralRoot = true;
|
||||||
};
|
};
|
||||||
|
hardware.gpu = "nvidia";
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue