diff --git a/hosts/snowfire/configuration.nix b/hosts/snowfire/configuration.nix index 1521489a..be9d8057 100644 --- a/hosts/snowfire/configuration.nix +++ b/hosts/snowfire/configuration.nix @@ -5,7 +5,7 @@ systemSettings = { # users users = [ "emmet" "corrina" ]; - adminUsers = [ "emmet" ]; + adminUsers = [ "emmet" "corrina" ]; # hardware cachy.enable = true; diff --git a/modules/system/bluetooth/default.nix b/modules/system/bluetooth/default.nix index 13694c07..e3fe1842 100644 --- a/modules/system/bluetooth/default.nix +++ b/modules/system/bluetooth/default.nix @@ -10,7 +10,9 @@ in { }; config = lib.mkIf cfg.enable { - hardware.bluetooth.enable = true; + hardware.bluetooth = { + enable = true; + }; services.blueman.enable = true; }; } diff --git a/modules/system/gaming/default.nix b/modules/system/gaming/default.nix index ae6d4b15..f46242f6 100644 --- a/modules/system/gaming/default.nix +++ b/modules/system/gaming/default.nix @@ -14,7 +14,55 @@ in { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "steam" "steam-unwrapped" ]; hardware.opengl.driSupport32Bit = true; programs.steam.enable = true; - environment.systemPackages = with pkgs; [ pkgs.steam gamemode prismlauncher ]; + environment.systemPackages = with pkgs; + [ steam + gamemode + prismlauncher + inotify-tools + (pkgs.writeScriptBin "steamgrab" ''chown -R $(pgrep -nf steam | xargs -r ps -o uname= -p):steam /opt/Steam;'') + ]; programs.gamemode.enable = true; + programs.gamescope.enable = true; + programs.steam.gamescopeSession.enable = true; + systemSettings.bluetooth.enable = true; + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + settings.General = { + experimental = true; + Privacy = "device"; + JustWorksRepairing = "always"; + Class = "0x000100"; + FastConnectable = true; + }; + }; + hardware.xpadneo.enable = true; + boot = { + extraModulePackages = with config.boot.kernelPackages; [ xpadneo ]; + extraModprobeConfig = '' + options bluetooth disable_ertm=Y + ''; + }; + users.groups = { + steam = { + members = config.systemSettings.users; + }; + }; + systemd.services.steamshare = { + enable = true; + unitConfig = { + Type = "exec"; + }; + serviceConfig = { + ExecStart = [ ''/run/current-system/sw/bin/chmod -R 777 /opt/Steam;'' ''/run/current-system/sw/bin/inotifywait -mr -e close_write,create,moved_to,modify /opt/Steam | while /run/current-system/sw/bin/read path file; do /run/current-system/sw/bin/chmod 777 $path/$file; done;'' ]; + }; + wantedBy = [ "graphical.target" ]; + }; + services.cron = { + enable = true; + systemCronJobs = [ + "*/1 * * * * steamgrab" + ]; + }; }; } diff --git a/modules/system/kernel/default.nix b/modules/system/kernel/default.nix index 6b83907f..f2351df4 100644 --- a/modules/system/kernel/default.nix +++ b/modules/system/kernel/default.nix @@ -25,6 +25,7 @@ in (lib.mkIf (cfg.variant == "hardened") pkgs.linuxPackages_cachyos-hardened) ]; services.scx.enable = true; + services.scx.scheduler = "scx_lavd"; boot.consoleLogLevel = 0; }; }