mirror of
https://github.com/aviallon/nixos-lib.git
synced 2026-04-06 01:38:06 +00:00
[Optimizations] add defaultSettings option for optimizePkg + add more packages to blacklist
This commit is contained in:
parent
49a6dd3bb4
commit
deccde8589
1 changed files with 12 additions and 22 deletions
|
|
@ -15,14 +15,12 @@ let
|
||||||
blacklist ? cfg.blacklist,
|
blacklist ? cfg.blacklist,
|
||||||
ltoBlacklist ? cfg.lto.blacklist,
|
ltoBlacklist ? cfg.lto.blacklist,
|
||||||
overrideMap ? cfg.overrideMap,
|
overrideMap ? cfg.overrideMap,
|
||||||
recursive ? 1,
|
|
||||||
level ? "slower",
|
|
||||||
lto ? cfg.lto,
|
lto ? cfg.lto,
|
||||||
stdenv ? null,
|
stdenv ? null,
|
||||||
...
|
...
|
||||||
}@attrs: pkg:
|
}@attrs: pkg:
|
||||||
myLib.optimizations.optimizePkg pkg ({
|
myLib.optimizations.optimizePkg pkg (cfg.defaultSettings // {
|
||||||
inherit cpuCores cpuTune cpuArch extraCFlags blacklist overrideMap;
|
inherit cpuCores cpuTune cpuArch extraCFlags blacklist ltoBlacklist overrideMap stdenv;
|
||||||
} // attrs);
|
} // attrs);
|
||||||
in {
|
in {
|
||||||
options.aviallon.optimizations = {
|
options.aviallon.optimizations = {
|
||||||
|
|
@ -50,6 +48,14 @@ in {
|
||||||
description = "Add specific compile flags";
|
description = "Add specific compile flags";
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
};
|
};
|
||||||
|
defaultSettings = mkOption {
|
||||||
|
default = {
|
||||||
|
recursive = 1;
|
||||||
|
level = "slower";
|
||||||
|
};
|
||||||
|
example = { level = "unsafe"; recursive = 0; };
|
||||||
|
description = mdDoc "Specify default options passed to optimizePkg";
|
||||||
|
};
|
||||||
optimizePkg = mkOption {
|
optimizePkg = mkOption {
|
||||||
default = optimizePkg;
|
default = optimizePkg;
|
||||||
example = "pkg: pkg.override { stdenv = pkgs.fastStdenv; }";
|
example = "pkg: pkg.override { stdenv = pkgs.fastStdenv; }";
|
||||||
|
|
@ -62,7 +68,7 @@ in {
|
||||||
"cmocka" "libkrb5" "libidn2" "tpm2-tss" "libxcrypt"
|
"cmocka" "libkrb5" "libidn2" "tpm2-tss" "libxcrypt"
|
||||||
"libomxil-bellagio" "wayland" "wayland-protocols"
|
"libomxil-bellagio" "wayland" "wayland-protocols"
|
||||||
"openssl" "libXt" "intel-media-sdk"
|
"openssl" "libXt" "intel-media-sdk"
|
||||||
"zlib" "alsa-lib" "glib" "lcms2"
|
"zlib" "alsa-lib" "glib" "lcms2" "gconf" "gnome-vfs"
|
||||||
|
|
||||||
# Very slow
|
# Very slow
|
||||||
"llvm" "clang" "clang-wrapper" "valgrind" "rustc" "tensorflow"
|
"llvm" "clang" "clang-wrapper" "valgrind" "rustc" "tensorflow"
|
||||||
|
|
@ -110,34 +116,18 @@ in {
|
||||||
|
|
||||||
(self: super: {
|
(self: super: {
|
||||||
opensshOptimized = optimizePkg {
|
opensshOptimized = optimizePkg {
|
||||||
level = "very-unsafe";
|
|
||||||
recursive = 0;
|
recursive = 0;
|
||||||
lto = true;
|
|
||||||
} super.openssh;
|
} super.openssh;
|
||||||
htop = optimizePkg {
|
htop = optimizePkg {
|
||||||
level = "slower";
|
|
||||||
lto = true;
|
|
||||||
} super.htop;
|
} super.htop;
|
||||||
nano = optimizePkg {
|
nano = optimizePkg {
|
||||||
level = "slower";
|
|
||||||
recursive = 99;
|
recursive = 99;
|
||||||
lto = true;
|
|
||||||
} super.nano;
|
} super.nano;
|
||||||
mesaOptimized = optimizePkg {
|
|
||||||
level = "slower";
|
|
||||||
recursive = 1;
|
|
||||||
lto = true;
|
|
||||||
} super.mesa;
|
|
||||||
optipngOptimized = optimizePkg {
|
optipngOptimized = optimizePkg {
|
||||||
level = "unsafe";
|
|
||||||
lto = true;
|
|
||||||
recursive = 1;
|
|
||||||
parallelize = generalCfg.cores;
|
parallelize = generalCfg.cores;
|
||||||
} super.optipng;
|
} super.optipng;
|
||||||
myFFmpeg = optimizePkg {
|
myFFmpeg = optimizePkg {
|
||||||
level = "normal";
|
|
||||||
lto = false;
|
lto = false;
|
||||||
recursive = 1;
|
|
||||||
} super.myFFmpeg;
|
} super.myFFmpeg;
|
||||||
|
|
||||||
man-db_optimized = optimizePkg {
|
man-db_optimized = optimizePkg {
|
||||||
|
|
@ -154,11 +144,11 @@ in {
|
||||||
|
|
||||||
jetbrains = super.jetbrains // {
|
jetbrains = super.jetbrains // {
|
||||||
jdk = optimizePkg {
|
jdk = optimizePkg {
|
||||||
level = "moderately-unsafe";
|
|
||||||
lto = true;
|
lto = true;
|
||||||
recursive = 1;
|
recursive = 1;
|
||||||
} super.jetbrains.jdk;
|
} super.jetbrains.jdk;
|
||||||
};
|
};
|
||||||
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue