diff --git a/flake.nix b/flake.nix index fd21112..7cb3fea 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,11 @@ url = "github:nix-community/lanzaboote/master"; inputs.nixpkgs.follows = "nixpkgs"; }; - + + # Custom Kernel + nix-cachyos-kernel = { + url = "github:xddxdd/nix-cachyos-kernel/release"; + }; # Hyprland hyprland = { url = "github:hyprwm/Hyprland"; diff --git a/hosts/framework/modules.nix b/hosts/framework/modules.nix index c1649a8..717da8d 100644 --- a/hosts/framework/modules.nix +++ b/hosts/framework/modules.nix @@ -11,6 +11,7 @@ in modules.nixos.secrets modules.nixos.desktop.bluetooth modules.nixos.desktop.utils + modules.nixos.gaming.kernel modules.nixos.gaming.amd modules.nixos.gaming.starCitizen modules.nixos.gaming.steam diff --git a/modules/default.nix b/modules/default.nix index 2a59acd..0827e35 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -36,6 +36,7 @@ steam = ./nixos/gaming/steam.nix; vr = ./nixos/gaming/vr.nix; mod = ./nixos/gaming/mod.nix; + kernel = ./nixos/gaming/kernel.nix }; bootloader = ./nixos/bootloader.nix; diff --git a/modules/nixos/gaming/kernel.nix b/modules/nixos/gaming/kernel.nix new file mode 100644 index 0000000..fc9aed2 --- /dev/null +++ b/modules/nixos/gaming/kernel.nix @@ -0,0 +1,29 @@ +{ pkgs, inputs, lib, ... }: + +let + helpers = pkgs.callPackage "${inputs.nix-cachyos-kernel.outPath}/helpers.nix" {}; + cachyKernel = pkgs.cachyosKernels.linux-cachyos-bore-lto.override { + cpusched = "bore"; + lto = "thin"; + processorOpt = "x86_64-v3"; + hzTicks = "1000"; + tickrate = "full"; + preemptType = "full"; + bbr3 = true; + ccHarder = true; + hugepage = "always"; + }; +in { + nixpkgs.overlays = [ inputs.nix-cachyos-kernel.overlays.pinned ]; + boot.kernelPackages = helpers.kernelModuleLLVMOverride ( + pkgs.linuxKernel.packagesFor cachyKernel + ); + nix.settings = { + substituters = lib.mkAfter [ + "https://attic.xuyh0120.win/lantian" + ]; + trusted-public-keys = lib.mkAfter [ + "lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc=" + ]; + }; +}