Compare commits
3 commits
53b8809432
...
b91982601f
Author | SHA1 | Date | |
---|---|---|---|
b91982601f | |||
63f0ba11ec | |||
ed44b78a6e |
3 changed files with 60 additions and 0 deletions
3
nix/debug.nix
Normal file
3
nix/debug.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
debug = true;
|
||||||
|
}
|
41
nix/modules/machine/gpu.nix
Normal file
41
nix/modules/machine/gpu.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.flake;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
allowedUnfreePackages = [
|
||||||
|
"nvidia-x11"
|
||||||
|
"nvidia-settings"
|
||||||
|
];
|
||||||
|
flake.modules.nixos.default =
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
hostName,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
gpu = cfg.manifest.hosts.nixos.${hostName}.machine.gpu or "";
|
||||||
|
in
|
||||||
|
if gpu == "nvidia" then
|
||||||
|
{
|
||||||
|
hardware = {
|
||||||
|
graphics.enable = true;
|
||||||
|
graphics.extraPackages = [ pkgs.nvidia-vaapi-driver ];
|
||||||
|
nvidia.open = true;
|
||||||
|
nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||||
|
};
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
environment.variables = {
|
||||||
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
|
NVD_BACKEND = "direct";
|
||||||
|
};
|
||||||
|
nix.settings.substituters = [ "https://cuda-maintainers.cachix.org" ];
|
||||||
|
nix.settings.trusted-public-keys = [
|
||||||
|
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||||
|
];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ };
|
||||||
|
}
|
16
nix/modules/unfree-packages.nix
Normal file
16
nix/modules/unfree-packages.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
inherit (builtins) elem;
|
||||||
|
inherit (lib) mkOption getName;
|
||||||
|
inherit (lib.types) listOf str;
|
||||||
|
predicate = pkg: elem (getName pkg) config.allowedUnfreePackages;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.allowedUnfreePackages = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
default = [ ];
|
||||||
|
};
|
||||||
|
config.flake.modules.nixos.default = {
|
||||||
|
nixpkgs.config.allowUnfreePredicate = predicate;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue