From bd429af2985744289b4f7a2a3f4cbce76e2ba97c Mon Sep 17 00:00:00 2001 From: notgne2 Date: Sat, 15 Apr 2023 00:23:42 -0700 Subject: [PATCH] make insane opengl configuration optional --- common.nix | 4 +-- modules/workstation.nix | 59 +++++++++++++++++------------------------ 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/common.nix b/common.nix index 90d6805..31544c1 100644 --- a/common.nix +++ b/common.nix @@ -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 ''; diff --git a/modules/workstation.nix b/modules/workstation.nix index ac398ae..166f341 100644 --- a/modules/workstation.nix +++ b/modules/workstation.nix @@ -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 =