mirror of
https://github.com/aviallon/nixos-lib.git
synced 2026-04-06 01:38:06 +00:00
[Mesa+Hardware] move Mesa specific options to a dedicated files
This commit is contained in:
parent
250820cb82
commit
d3e80fda86
7 changed files with 58 additions and 13 deletions
53
hardware/mesa.nix
Normal file
53
hardware/mesa.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.aviallon.hardware.mesa;
|
||||
devCfg = config.aviallon.developer;
|
||||
generalCfg = config.aviallon.general;
|
||||
packageWithDefaults = types.package // {
|
||||
merge = loc: defs:
|
||||
let res = mergeDefaultOption loc defs;
|
||||
in if builtins.isPath res || (builtins.isString res && ! builtins.hasContext res)
|
||||
then toDerivation res
|
||||
else res;
|
||||
};
|
||||
in {
|
||||
options.aviallon.hardware.mesa = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "Wether to enable mesa specific configuration";
|
||||
example = true;
|
||||
};
|
||||
optimized = mkOption {
|
||||
default = generalCfg.unsafeOptimizations;
|
||||
type = types.bool;
|
||||
description = "Wether to enable (unsafe) mesa optimizations";
|
||||
example = false;
|
||||
};
|
||||
package = mkOption {
|
||||
internal = true;
|
||||
default = pkgs.mesa;
|
||||
type = packageWithDefaults;
|
||||
description = "What mesa package to use";
|
||||
};
|
||||
package32 = mkOption {
|
||||
internal = true;
|
||||
default = pkgs.driversi686Linux.mesa;
|
||||
type = packageWithDefaults;
|
||||
description = "What mesa package to use";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.corectrl.enable = mkDefault config.hardware.opengl.enable;
|
||||
|
||||
aviallon.hardware.mesa.package = mkIf cfg.optimized pkgs.mesaOptimized;
|
||||
#aviallon.hardware.mesa.package32 = mkIf (mkDefault cfg.optimized pkgs.driversi686Linux.mesaOptimized);
|
||||
|
||||
hardware.opengl = {
|
||||
package = with pkgs; cfg.package.drivers;
|
||||
package32 = with pkgs; cfg.package32.drivers;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue