update packages + some tweaks

This commit is contained in:
Reid 2026-04-18 18:41:55 -07:00
parent 527378ad95
commit edfb60dd12
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
26 changed files with 304 additions and 319 deletions

View file

@ -38,7 +38,8 @@ in {
signing = {
signByDefault = true;
key = "DAF5EAF6665839FD";
format = "openpgp";
key = "DAF5EAF6665839FD"; # :tfm_derp:
};
ignores = [

View file

@ -6,40 +6,48 @@ let
in {
options.modules.software.distractions.steam = {
enable = mkEnableOption "Enable Steam, the game distribution software";
useGamescope = mkEnableOption "Enable Gamescope, a tool to run games in a separate X session";
session = mkEnableOption "Enable a Steam Deck-like session powered by gamescope";
};
config = mkIf cfg.enable {
programs.steam = {
enable = true;
gamescopeSession.enable = cfg.session;
package = pkgs.steam.override {
# required for programs to run sometimes
# see: https://github.com/NixOS/nixpkgs/issues/162562#issuecomment-1229444338
extraPkgs = (pkgs: (lib.optional cfg.useGamescope pkgs.gamescope) ++ (with pkgs; [
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
extraPkgs = (pkgs: with pkgs; [
libXcursor
libXi
libXinerama
libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
]));
gperftools
]);
extraEnv = {
# https://github.com/gloriouseggroll/proton-ge-custom
PROTON_USE_WAYLAND = "1";
PROTON_USE_WOW64 = "1";
};
};
extraCompatPackages = with pkgs; [ proton-ge-bin ];
protontricks.enable = true;
# explicitly allow all the ports to open up
localNetworkGameTransfers.openFirewall = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
programs.gamescope = {
enable = cfg.useGamescope;
# capSysNice = true; https://github.com/NixOS/nixpkgs/issues/351516
};
# enable windows NT sync primitive driver (semaphores, mutexes, etc.)
# improves performance on wine 11+ and proton 11+
boot.kernelModules = [ "ntsync" ];
user.packages = with pkgs; [ steam-run ];
};

View file

@ -39,24 +39,6 @@ in {
sumneko.lua
# wgsl
wgsl-analyzer.wgsl-analyzer
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# language specific
# qml
{
name = "qt-qml";
publisher = "TheQtCompany";
version = "1.4.0";
sha256 = "sha256-9C0EC4vnulg0OjGNU0SfMA2R6+OaHVCqDsipY2TAqxo=";
}
# libraries
# qt core
{
name = "qt-core";
publisher = "TheQtCompany";
version = "1.4.0";
sha256 = "sha256-QiZc6WNh4Q67beyFuiSqkG5G4zRMNmyjuZhWW7ZATO0=";
}
];
userSettings = with config.modules.desktop.fonts.fonts; {
@ -81,12 +63,7 @@ in {
"nix.enableLanguageServer" = true;
"nix.serverPath" = "${lib.getExe pkgs.nil}";
"qt-qml.qmlls.enabled" = true;
"qt-qml.qmlls.customExePath" = "${pkgs.qt6.qtdeclarative}/bin/qmlls";
"qt-qml.qmlls.useQmlImportPathEnvVar" = true;
"qt-qml.doNotAskForQmllsDownload" = true;
"security.workspace.trust.enabled" = "false";
"security.workspace.trust.enabled" = false;
"explorer.compactFolders" = false;
"explorer.confirmDelete" = false;
@ -100,6 +77,8 @@ in {
# prevent vscode from modifying the terminal colors
"terminal.integrated.minimumContrastRatio" = 1;
# prevent vscode from messing up font spacing
"terminal.integrated.letterSpacing" = 1;
};
};
};

View file

@ -2,6 +2,7 @@
with lib;
let
# TODO: move this dawg
cfg = config.modules.software.system.zswap;
in {
options.modules.software.system.zswap = {
@ -13,7 +14,7 @@ in {
"zswap.enabled=1"
"zswap.shrinker_enabled=1" # high mem: shrink zswap, mv to swap
"zswap.max_pool_percent=20" # TODO: tune this (keep in mind shrinker is enabled)
"zswap.compressor=zstd" # lz4 is missing for some reason
"zswap.compressor=zstd"
"zswap.zpool=zsmalloc"
];
};