make insane opengl configuration optional

This commit is contained in:
notgne2 2023-04-15 00:23:42 -07:00
parent 7fa9d6c8ba
commit bd429af298
Signed by: notgne2
SSH Key Fingerprint: SHA256:qlFCAimT/PvNIG3u+aYT9pIqFCWgu6sNsWjpV1vHLIE
2 changed files with 26 additions and 37 deletions

View File

@ -15,8 +15,6 @@ all: {
'';
};
services.haveged.enable = lib.mkDefault true;
security.rtkit.enable = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault true;
@ -83,7 +81,7 @@ all: {
settings.PermitRootLogin = lib.mkDefault "no";
settings.PasswordAuthentication = lib.mkDefault false;
# allow reverse ssh port shit to be public sometimes
gatewayPorts = lib.mkDefault "clientspecified";
settings.GatewayPorts = lib.mkDefault "clientspecified";
extraConfig = ''
StreamLocalBindUnlink yes
'';

View File

@ -26,6 +26,12 @@ in {
default = true;
description = "If to use a prettier booting process";
};
opengl = mkOption {
type = types.bool;
default = true;
description = "Enable everything on opengl for a hopefully painless experience";
};
};
config = mkIf cfg.enable {
@ -61,8 +67,6 @@ in {
nssmdns = lib.mkDefault true;
};
services.flatpak.enable = lib.mkDefault true;
services.ezpw.enable = lib.mkDefault true;
security.pam.services = {
@ -124,7 +128,7 @@ in {
# Fix steam
driSupport32Bit = lib.mkDefault true;
# Other drivers
extraPackages = with pkgs; [
extraPackages = with pkgs; lib.mkIf cfg.opengl [
intel-media-driver
vaapiIntel
vaapiVdpau
@ -132,7 +136,7 @@ in {
libGL
mesa
];
setLdLibraryPath = lib.mkDefault true;
setLdLibraryPath = lib.mkDefault cfg.opengl;
};
# Support for steam hardware
@ -141,11 +145,8 @@ in {
# Needed for lots of controller stuff
hardware.uinput.enable = lib.mkDefault true;
# Optimizes running games
programs.gamemode = {
enable = lib.mkDefault true;
settings = {general.renice = 10;};
};
# Optimizes running games, we won't turn it on, but we allow it to work better as a result of our other settings
programs.gamemode.settings = {general.renice = 10;};
# Allows realtime stuff, useful for games, audio etc
services.udev.extraRules = ''
@ -198,20 +199,21 @@ in {
# the user should have some basic permissions lol
users.users."${cfg.user}" = {
extraGroups = [
"adbusers"
"audio"
"video"
"libvirtd"
"kvm"
"sway"
"wheel"
"networkmanager"
"docker"
"podman"
"input"
"uinput"
"scanner"
"lp"
"adbusers" # run ADB commands
"audio" # soundcard access
"video" # webcam access (and maybe wayland too?)
"libvirtd" # run VMs through libvirt
"kvm" # run KVM VMs
"sway" # run sway.. I guess?
"wheel" # sudo
"networkmanager" # use networkmanager?
"docker" # docker permission (basically the same as `wheel`)
"podman" # podman permission (assuming it's a bit like `docker`)
"input" # read some types of inputs?
"uinput" # make virtual uinput devices?
"scanner" # use scanners
"lp" # use printers
"plugdev" # rootless mounting and other device permissions
];
subUidRanges = [
@ -304,17 +306,6 @@ in {
services.dbus.enable = lib.mkDefault true;
services.dbus.packages = with pkgs; [dconf];
# self explanatory
fuckingprint.enable = lib.mkDefault true;
# Pulseaudio is off by defaultm but if you want it, make it work right
hardware.pulseaudio.support32Bit = lib.mkDefault true;
hardware.pulseaudio.zeroconf.discovery.enable = lib.mkDefault true;
hardware.pulseaudio.package = lib.mkDefault pkgs.pulseaudioFull;
hardware.pulseaudio.extraConfig = ''
load-module module-dbus-protocol
'';
# bluetooth
hardware.bluetooth.enable = lib.mkDefault true;
hardware.bluetooth.settings.General.Enable =