From 776c6e30603249ca3e71fffca5a56cda2c146d29 Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Fri, 5 May 2023 11:42:52 +0200 Subject: [PATCH] [Optimizations] move service optimizations into a dedicated file Optimize Xorg and systemd with optimizePkg with default options --- optimizations/optimizations.nix | 19 +------------------ optimizations/services.nix | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 optimizations/services.nix diff --git a/optimizations/optimizations.nix b/optimizations/optimizations.nix index 2084499..6b6db85 100644 --- a/optimizations/optimizations.nix +++ b/optimizations/optimizations.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, myLib, ... }: +{ config, pkgs, options, lib, myLib, ... }: with lib; let cfg = config.aviallon.optimizations; @@ -98,7 +98,6 @@ in { fastStdenv = super.overrideCC super.gccStdenv (super.buildPackages.gcc_latest.overrideAttrs (old: let optimizedAttrs = {} - #// _optimizeAttrs { level = "general"; cpuArch = null; cpuTune = null; } // { configureFlags = [ "--with-cpu-64=${generalCfg.cpuArch}" "--with-arch-64=${generalCfg.cpuArch}" @@ -130,18 +129,6 @@ in { lto = false; } super.myFFmpeg; - man-db_optimized = optimizePkg { - level = "moderately-unsafe"; - lto = true; - recursive = 1; - } super.man-db; - - mandoc_optimized = optimizePkg { - level = "moderately-unsafe"; - lto = true; - recursive = 1; - } super.mandoc; - jetbrains = super.jetbrains // { jdk = optimizePkg { lto = true; @@ -151,9 +138,5 @@ in { }) ]; - - - documentation.man.man-db.package = pkgs.man-db_optimized; - documentation.man.mandoc.package = pkgs.mandoc_optimized; }; } diff --git a/optimizations/services.nix b/optimizations/services.nix new file mode 100644 index 0000000..d25eb50 --- /dev/null +++ b/optimizations/services.nix @@ -0,0 +1,27 @@ +{ config, options, pkgs, lib, ... }: +with lib; +let + cfg = config.aviallon.optimizations; + optimizePkg = cfg.optimizePkg; + xorg = pkgs.xorg // { + xorgserver = optimizePkg { } pkgs.xorg.xorgserver; + }; + man-db = optimizePkg { level = "moderately-unsafe"; } pkgs.man-db; + mandoc = optimizePkg { level = "moderately-unsafe"; } pkgs.mandoc; +in { + config = mkIf cfg.enable { + documentation.man.man-db.package = man-db; + documentation.man.mandoc.package = mandoc; + + systemd.package = optimizePkg { } options.systemd.package.default; + + services.xserver.modules = mkBefore [ (hiPrio xorg.xorgserver.out) ]; + services.xserver.excludePackages = [ pkgs.xorg.xorgserver ]; + services.xserver.displayManager.xserverBin = mkForce "${xorg.xorgserver.out}/bin/X"; + + environment.systemPackages = [ + (hiPrio config.systemd.package) + (hiPrio xorg.xorgserver.out) + ]; + }; +}