From 93177aa622da9c386335a351cfbcd5b68f96959b Mon Sep 17 00:00:00 2001 From: Nathan McCarty Date: Thu, 8 Jun 2023 22:05:35 -0400 Subject: [PATCH] perf enable --- modules/linux/base.nix | 10 ++++++++++ modules/linux/default.nix | 1 + 2 files changed, 11 insertions(+) diff --git a/modules/linux/base.nix b/modules/linux/base.nix index 164b72a..18c0230 100644 --- a/modules/linux/base.nix +++ b/modules/linux/base.nix @@ -26,6 +26,16 @@ with lib; { let unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}; in unstable.linuxKernel.packages.linux_lqx; }) + (mkIf ((!config.nathan.config.harden) && config.nathan.config.isDesktop + && config.nathan.programs.perf) { + # Install perf and related tools + environment.systemPackages = + let unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}; + in [ unstable.linuxKernel.packages.linux_lqx.perf ]; + # Allow users to use it + boot.kernel.sysctl."kernel.perf_event_paranoid" = -1; + boot.kernel.sysctl."kernel.kptr_restrict" = lib.mkForce 0; + }) (mkIf config.nathan.config.isDesktop { # Setup frequency scaling powerManagement = { diff --git a/modules/linux/default.nix b/modules/linux/default.nix index e40618e..3e1e6ec 100644 --- a/modules/linux/default.nix +++ b/modules/linux/default.nix @@ -118,6 +118,7 @@ in { # Enabled by default on desktop binfmt = mkDefaultOption "binfmt" config.nathan.config.isDesktop; }; + perf = mkDefaultOption "perf" config.nathan.config.isDesktop; }; # Control enabling of hardware support hardware = {