refactored
also 595 update
This commit is contained in:
parent
0acce99f5c
commit
6f530b1d5d
3 changed files with 55 additions and 51 deletions
|
|
@ -8,7 +8,10 @@
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
timeout = 5;
|
timeout = 5;
|
||||||
};
|
};
|
||||||
tmp.cleanOnBoot = true;
|
tmp = {
|
||||||
|
useTmpfs = true;
|
||||||
|
tmpfsSize = "50%";
|
||||||
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
#50 series nvidia drivers are kinda a mess; use 6.12 if there's any issues
|
#50 series nvidia drivers are kinda a mess; use 6.12 if there's any issues
|
||||||
#kernelPackages = pkgs.linuxPackages_6_12;
|
#kernelPackages = pkgs.linuxPackages_6_12;
|
||||||
|
|
@ -23,16 +26,41 @@
|
||||||
"boot.shell_on_fail"
|
"boot.shell_on_fail"
|
||||||
"udev.log_priority=3"
|
"udev.log_priority=3"
|
||||||
"rd.systemd.show_status=auto"
|
"rd.systemd.show_status=auto"
|
||||||
"nvidia_drm.modeset=1"
|
"nowatchdog"
|
||||||
"nvidia_drm.fbdev=1"
|
|
||||||
];
|
];
|
||||||
# cpu specific optimizations
|
kernelModules = ["tcp_bbr"];
|
||||||
kernel.sysctl = {
|
kernel.sysctl = {
|
||||||
"vm.swappiness" = 10;
|
"vm.swappiness" = 60;
|
||||||
"vm.vfs_cache_pressure" = 50;
|
"vm.vfs_cache_pressure" = 50;
|
||||||
|
"vm.compaction_proactiveness" = 0;
|
||||||
|
"vm.page_lock_unfairness" = 1;
|
||||||
|
"vm.max_map_count" = 2147483642; #SteamOS default
|
||||||
|
"kernel.split_lock_mitigate" = 0;
|
||||||
|
"net.core.rmem_max" = 16777216;
|
||||||
|
"net.core.wmem_max" = 16777216;
|
||||||
|
"net.ipv4.tcp_fastopen" = 3;
|
||||||
|
"net.ipv4.tcp_congestion_control" = "bbr";
|
||||||
};
|
};
|
||||||
|
kernelPatches = [
|
||||||
|
{
|
||||||
|
name = "Rust";
|
||||||
|
patch = null;
|
||||||
|
features = {
|
||||||
|
rust = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# redirect builds to disk so tmpfs doesn't blow up
|
||||||
|
systemd.services.nix-daemon.environment.TMPDIR = "/var/tmp";
|
||||||
|
|
||||||
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
algorithm = "zstd";
|
||||||
|
memoryPercent = 50;
|
||||||
|
priority = 100;
|
||||||
|
};
|
||||||
# been annoying as of late
|
# been annoying as of late
|
||||||
systemd.oomd.enable = false;
|
systemd.oomd.enable = false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
|
@ -12,30 +11,6 @@
|
||||||
XCURSOR_SIZE = toString config.theme.cursorSize;
|
XCURSOR_SIZE = toString config.theme.cursorSize;
|
||||||
QT_QPA_PLATFORMTHEME = config.theme.qtTheme;
|
QT_QPA_PLATFORMTHEME = config.theme.qtTheme;
|
||||||
QT_STYLE_OVERRIDE = config.theme.qtOverride;
|
QT_STYLE_OVERRIDE = config.theme.qtOverride;
|
||||||
CC = "${pkgs.gcc}/bin/gcc";
|
|
||||||
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
|
||||||
LUA_PATH = "${pkgs.luajit}/share/lua/${pkgs.luajit.luaversion}/?.lua;${pkgs.luajit}/share/lua/${pkgs.luajit.luaversion}/?/init.lua;;";
|
|
||||||
LUA_CPATH = "${pkgs.luajit}/lib/lua/${pkgs.luajit.luaversion}/?.so;;";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [
|
|
||||||
pkgs.portaudio
|
|
||||||
pkgs.alsa-lib
|
|
||||||
pkgs.stdenv.cc.cc
|
|
||||||
];
|
|
||||||
|
|
||||||
LD_LIBRARY_PATH = lib.makeLibraryPath [
|
|
||||||
pkgs.libglvnd
|
|
||||||
pkgs.mesa
|
|
||||||
pkgs.cudatoolkit
|
|
||||||
pkgs.mangohud
|
|
||||||
pkgs.portaudio
|
|
||||||
pkgs.alsa-lib
|
|
||||||
pkgs.wayland
|
|
||||||
pkgs.libxkbcommon
|
|
||||||
pkgs.glib
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.pathsToLink = [
|
environment.pathsToLink = [
|
||||||
|
|
@ -45,6 +20,21 @@
|
||||||
"/share/pixmaps"
|
"/share/pixmaps"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
libraries = with pkgs; [
|
||||||
|
libglvnd
|
||||||
|
mesa
|
||||||
|
cudatoolkit
|
||||||
|
mangohud
|
||||||
|
portaudio
|
||||||
|
alsa-lib
|
||||||
|
wayland
|
||||||
|
libxkbcommon
|
||||||
|
glib
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -11,27 +11,13 @@
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
nvidiaPersistenced = true;
|
nvidiaPersistenced = true;
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||||
package = let
|
version = "595.45.04";
|
||||||
base = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
sha256_64bit = "sha256-zUllSSRsuio7dSkcbBTuxF+dN12d6jEPE0WgGvVOj14=";
|
||||||
version = "590.48.01";
|
openSha256 = "sha256-uqNfImwTKhK8gncUdP1TPp0D6Gog4MSeIJMZQiJWDoE=";
|
||||||
sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok=";
|
settingsSha256 = "sha256-Y45pryyM+6ZTJyRaRF3LMKaiIWxB5gF5gGEEcQVr9nA=";
|
||||||
openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44=";
|
persistencedSha256 = "sha256-5FoeUaRRMBIPEWGy4Uo0Aho39KXmjzQsuAD9m/XkNpA=";
|
||||||
settingsSha256 = "sha256-4SfCWp3swUp+x+4cuIZ7SA5H7/NoizqgPJ6S9fm90fA=";
|
};
|
||||||
persistencedSha256 = "sha256-wsNeuw7IaY6Qc/i/AzT/4N82lPjkwfrhxidKWUtcwW8=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cachyosPatch = pkgs.fetchpatch {
|
|
||||||
url = "https://raw.githubusercontent.com/CachyOS/CachyOS-PKGBUILDS/master/nvidia/nvidia-utils/kernel-6.19.patch";
|
|
||||||
sha256 = "sha256-YuJjSUXE6jYSuZySYGnWSNG5sfVei7vvxDcHx3K+IN4=";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
base
|
|
||||||
// {
|
|
||||||
open = base.open.overrideAttrs (old: {
|
|
||||||
patches = (old.patches or []) ++ [cachyosPatch];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.nvidia-container-toolkit.enable = true;
|
hardware.nvidia-container-toolkit.enable = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue