flake: rework modules folder structure
This commit is contained in:
parent
5d64c56d40
commit
0952665f6b
56 changed files with 3 additions and 3 deletions
12
modules/nixos/drivers/gpu/amd.nix
Normal file
12
modules/nixos/drivers/gpu/amd.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
|
||||
options.settings.drivers.gpu.amd = {
|
||||
enable = lib.mkEnableOption "enable AMD gpu drivers";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.settings.drivers.gpu.amd.enable {
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
};
|
||||
}
|
||||
33
modules/nixos/drivers/gpu/disableNvidia.nix
Normal file
33
modules/nixos/drivers/gpu/disableNvidia.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
|
||||
options = {
|
||||
settings.drivers.gpu.nvidia.forceDisable = lib.mkEnableOption "force disable all nvidia drivers";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.settings.drivers.gpu.nvidia.forceDisable {
|
||||
#hardware.nvidiaOptimus.disable = true;
|
||||
boot.extraModprobeConfig = ''
|
||||
blacklist nouveau
|
||||
options nouveau modeset=0
|
||||
'';
|
||||
services.udev.extraRules = ''
|
||||
# Remove NVIDIA USB xHCI Host Controller devices, if present
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||
# Remove NVIDIA USB Type-C UCSI devices, if present
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||
# Remove NVIDIA Audio devices, if present
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||
# Remove NVIDIA VGA/3D controller devices
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
|
||||
'';
|
||||
boot.blacklistedKernelModules = [
|
||||
"nouveau"
|
||||
"nvidia"
|
||||
"nvidia_uvm"
|
||||
"nvidiafb"
|
||||
"nvidia_drm"
|
||||
"nvidia_modeset"
|
||||
];
|
||||
};
|
||||
}
|
||||
28
modules/nixos/drivers/gpu/nvidia.nix
Normal file
28
modules/nixos/drivers/gpu/nvidia.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
|
||||
options.settings.drivers.gpu.nvidia = {
|
||||
enable = lib.mkEnableOption "Enable Nvidia proprietary drivers";
|
||||
offload = lib.mkEnableOption "Enable prime offloading";
|
||||
sync = lib.mkEnableOption "Enable prime sync";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.settings.drivers.gpu.nvidia.enable {
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
hardware.nvidia = {
|
||||
open = false;
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
prime = {
|
||||
nvidiaBusId = "pci:1:0:0";
|
||||
amdgpuBusId = "pci:5:0:0";
|
||||
};
|
||||
prime.offload = lib.mkIf config.settings.drivers.gpu.nvidia.offload {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
prime.sync.enable = lib.mkIf config.settings.drivers.gpu.nvidia.sync true;
|
||||
nvidiaSettings = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
19
modules/nixos/drivers/ipod.nix
Normal file
19
modules/nixos/drivers/ipod.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
options.settings.drivers.ipod = {
|
||||
enable = lib.mkEnableOption "Enable necessary software for ipod communication";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.settings.drivers.ipod.enable {
|
||||
services.usbmuxd.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [ libimobiledevice ];
|
||||
};
|
||||
|
||||
}
|
||||
14
modules/nixos/drivers/openrazer.nix
Normal file
14
modules/nixos/drivers/openrazer.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
options.settings.drivers.openrazer = {
|
||||
enable = lib.mkEnableOption "Enable the openrazer drivers for razer device-specific features (IE RGB lights control)";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.settings.drivers.openrazer.enable {
|
||||
hardware.openrazer.enable = true;
|
||||
hardware.openrazer.users = [
|
||||
"fedfer"
|
||||
"veneficium"
|
||||
];
|
||||
};
|
||||
}
|
||||
16
modules/nixos/drivers/samsung-printer.nix
Normal file
16
modules/nixos/drivers/samsung-printer.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
#use driver compatible with samsung M2020 printer
|
||||
options.settings.drivers.printer = {
|
||||
M2020.enable = lib.mkEnableOption "use the appropriate driver for the samsung M2020 printer";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.settings.drivers.printer.M2020.enable {
|
||||
services.printing.drivers = [ pkgs.samsung-unified-linux-driver_1_00_37 ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue