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; security.rtkit.enable = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault true; hardware.cpu.amd.updateMicrocode = lib.mkDefault true;
@ -83,7 +81,7 @@ all: {
settings.PermitRootLogin = lib.mkDefault "no"; settings.PermitRootLogin = lib.mkDefault "no";
settings.PasswordAuthentication = lib.mkDefault false; settings.PasswordAuthentication = lib.mkDefault false;
# allow reverse ssh port shit to be public sometimes # allow reverse ssh port shit to be public sometimes
gatewayPorts = lib.mkDefault "clientspecified"; settings.GatewayPorts = lib.mkDefault "clientspecified";
extraConfig = '' extraConfig = ''
StreamLocalBindUnlink yes StreamLocalBindUnlink yes
''; '';

View File

@ -26,6 +26,12 @@ in {
default = true; default = true;
description = "If to use a prettier booting process"; 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 { config = mkIf cfg.enable {
@ -61,8 +67,6 @@ in {
nssmdns = lib.mkDefault true; nssmdns = lib.mkDefault true;
}; };
services.flatpak.enable = lib.mkDefault true;
services.ezpw.enable = lib.mkDefault true; services.ezpw.enable = lib.mkDefault true;
security.pam.services = { security.pam.services = {
@ -124,7 +128,7 @@ in {
# Fix steam # Fix steam
driSupport32Bit = lib.mkDefault true; driSupport32Bit = lib.mkDefault true;
# Other drivers # Other drivers
extraPackages = with pkgs; [ extraPackages = with pkgs; lib.mkIf cfg.opengl [
intel-media-driver intel-media-driver
vaapiIntel vaapiIntel
vaapiVdpau vaapiVdpau
@ -132,7 +136,7 @@ in {
libGL libGL
mesa mesa
]; ];
setLdLibraryPath = lib.mkDefault true; setLdLibraryPath = lib.mkDefault cfg.opengl;
}; };
# Support for steam hardware # Support for steam hardware
@ -141,11 +145,8 @@ in {
# Needed for lots of controller stuff # Needed for lots of controller stuff
hardware.uinput.enable = lib.mkDefault true; hardware.uinput.enable = lib.mkDefault true;
# Optimizes running games # 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 = { programs.gamemode.settings = {general.renice = 10;};
enable = lib.mkDefault true;
settings = {general.renice = 10;};
};
# Allows realtime stuff, useful for games, audio etc # Allows realtime stuff, useful for games, audio etc
services.udev.extraRules = '' services.udev.extraRules = ''
@ -198,20 +199,21 @@ in {
# the user should have some basic permissions lol # the user should have some basic permissions lol
users.users."${cfg.user}" = { users.users."${cfg.user}" = {
extraGroups = [ extraGroups = [
"adbusers" "adbusers" # run ADB commands
"audio" "audio" # soundcard access
"video" "video" # webcam access (and maybe wayland too?)
"libvirtd" "libvirtd" # run VMs through libvirt
"kvm" "kvm" # run KVM VMs
"sway" "sway" # run sway.. I guess?
"wheel" "wheel" # sudo
"networkmanager" "networkmanager" # use networkmanager?
"docker" "docker" # docker permission (basically the same as `wheel`)
"podman" "podman" # podman permission (assuming it's a bit like `docker`)
"input" "input" # read some types of inputs?
"uinput" "uinput" # make virtual uinput devices?
"scanner" "scanner" # use scanners
"lp" "lp" # use printers
"plugdev" # rootless mounting and other device permissions
]; ];
subUidRanges = [ subUidRanges = [
@ -304,17 +306,6 @@ in {
services.dbus.enable = lib.mkDefault true; services.dbus.enable = lib.mkDefault true;
services.dbus.packages = with pkgs; [dconf]; 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 # bluetooth
hardware.bluetooth.enable = lib.mkDefault true; hardware.bluetooth.enable = lib.mkDefault true;
hardware.bluetooth.settings.General.Enable = hardware.bluetooth.settings.General.Enable =