mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 14:28:02 +03:00
big great refactor
This commit is contained in:
1 parent
596bcb4a94
commit
5a7501eec0
73 files changed
+537
-644
No files matched your search
Executable
+5
@@ -0,0 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
hardware.bluetooth.enable = true;
|
||||
}
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./bluetooth
|
||||
./graphics
|
||||
./udev
|
||||
];
|
||||
}
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
}
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
driver = config.elars.hardware.graphics.driver;
|
||||
in
|
||||
{
|
||||
options.elars.hardware.graphics.driver = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"intel"
|
||||
"amd"
|
||||
"nvidia"
|
||||
"hybrid-amd-nvidia"
|
||||
];
|
||||
default = "intel";
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf (driver == "intel") (import ./intel.nix { inherit config lib pkgs; }))
|
||||
(lib.mkIf (driver == "amd") (import ./amd.nix { inherit config lib pkgs; }))
|
||||
(lib.mkIf (driver == "nvidia") (import ./nvidia.nix { inherit config lib pkgs; }))
|
||||
(lib.mkIf (driver == "hybrid-amd-nvidia") (
|
||||
lib.mkMerge [
|
||||
(import ./amd.nix { inherit config lib pkgs; })
|
||||
(import ./nvidia.nix { inherit config lib pkgs; })
|
||||
(import ./prime.nix { inherit config lib pkgs; })
|
||||
]
|
||||
))
|
||||
];
|
||||
}
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
wayland-intel-vaapi-driver = pkgs.intel-vaapi-driver.overrideAttrs (oldAttrs: {
|
||||
version = "2.4.4-wayland-fix";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "irql-notlessorequal";
|
||||
repo = "intel-vaapi-driver";
|
||||
rev = "929e936ec1f451a5daa12b0c7367687b712b8c2c";
|
||||
hash = "sha256-tZ1rZ+4bRxarcFQhP8V2Mfz0sJ5rBgHYLu2ulrQwL+U=";
|
||||
};
|
||||
});
|
||||
|
||||
wayland-intel-vaapi-driver-32 = pkgs.pkgsi686Linux.intel-vaapi-driver.overrideAttrs (oldAttrs: {
|
||||
version = "2.4.4-wayland-fix";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "irql-notlessorequal";
|
||||
repo = "intel-vaapi-driver";
|
||||
rev = "929e936ec1f451a5daa12b0c7367687b712b8c2c";
|
||||
hash = "sha256-tZ1rZ+4bRxarcFQhP8V2Mfz0sJ5rBgHYLu2ulrQwL+U=";
|
||||
};
|
||||
});
|
||||
in
|
||||
{
|
||||
hardware.graphics.extraPackages = [
|
||||
wayland-intel-vaapi-driver
|
||||
pkgs.libvdpau-va-gl
|
||||
pkgs.mesa
|
||||
];
|
||||
|
||||
hardware.graphics.extraPackages32 = [
|
||||
wayland-intel-vaapi-driver-32
|
||||
pkgs.pkgsi686Linux.libvdpau-va-gl
|
||||
pkgs.pkgsi686Linux.mesa
|
||||
];
|
||||
|
||||
services.xserver.videoDrivers = [ "modesetting" ];
|
||||
|
||||
environment.variables = {
|
||||
LIBVA_DRIVER_NAME = "i965";
|
||||
};
|
||||
}
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
}
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
hardware.nvidia.prime = {
|
||||
offload.enable = true;
|
||||
amdgpuBusId = "PCI:X:X:X";
|
||||
nvidiaBusId = "PCI:X:X:X";
|
||||
};
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="ttyACM[0-9]*", MODE="0666"
|
||||
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
|
||||
'';
|
||||
services.udisks2.enable = true;
|
||||
services.tumbler.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id.match("org.freedesktop.udisks2.") &&
|
||||
subject.isInGroup("wheel")) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
}
|
||||
Reference in new issue
Block a user