summary refs log tree commit diff
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2020-03-12 23:53:42 +0100
committerGitHub <noreply@github.com>2020-03-12 23:53:42 +0100
commiteff447b32175669bb574fcfe4b9505b3f098f563 (patch)
treece0094116b9a4486e58400671a92f3b4214dbee2
parentce78f3ac701017008aa7f1db387b871b7ae65e01 (diff)
parenta4fe469d39bdb9a91f9f6c8bbbac15fd836b66ce (diff)
downloadnixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.tar
nixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.tar.gz
nixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.tar.bz2
nixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.tar.lz
nixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.tar.xz
nixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.tar.zst
nixpkgs-eff447b32175669bb574fcfe4b9505b3f098f563.zip
Merge pull request #70157 from teto/lib_kernel
Add lib.kernel
-rw-r--r--lib/default.nix3
-rw-r--r--lib/kernel.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/hardened-config.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/mptcp-config.nix2
5 files changed, 20 insertions, 10 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 4971e68ebd3..a909cefd60f 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -56,6 +56,9 @@ let
     # back-compat aliases
     platforms = systems.doubles;
 
+    # linux kernel configuration
+    kernel = callLibs ./kernel.nix;
+
     inherit (builtins) add addErrorContext attrNames concatLists
       deepSeq elem elemAt filter genericClosure genList getAttr
       hasAttr head isAttrs isBool isInt isList isString length
diff --git a/lib/kernel.nix b/lib/kernel.nix
index 36ea3083828..2ce19f8cb68 100644
--- a/lib/kernel.nix
+++ b/lib/kernel.nix
@@ -1,12 +1,7 @@
-{ lib, version }:
+{ lib }:
 
 with lib;
 {
-  # Common patterns/legacy
-  whenAtLeast = ver: mkIf (versionAtLeast version ver);
-  whenOlder   = ver: mkIf (versionOlder version ver);
-  # range is (inclusive, exclusive)
-  whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh);
 
 
   # Keeping these around in case we decide to change this horrible implementation :)
@@ -18,4 +13,14 @@ with lib;
   module   = { tristate    = "m"; };
   freeform = x: { freeform = x; };
 
+  /*
+    Common patterns/legacy used in common-config/hardened-config.nix
+   */
+  whenHelpers = version: {
+    whenAtLeast = ver: mkIf (versionAtLeast version ver);
+    whenOlder   = ver: mkIf (versionOlder version ver);
+    # range is (inclusive, exclusive)
+    whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh);
+  };
+
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index e925068421d..2c8b8de65b3 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -16,11 +16,12 @@
 }:
 
 with stdenv.lib;
-
-  with import ../../../../lib/kernel.nix { inherit (stdenv) lib; inherit version; };
+with stdenv.lib.kernel;
+with (stdenv.lib.kernel.whenHelpers version);
 
 let
 
+
   # configuration items have to be part of a subattrs
   flattenKConf =  nested: mapAttrs (_: head) (zipAttrs (attrValues nested));
 
diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix
index 156a4cf4423..b28ce770f7a 100644
--- a/pkgs/os-specific/linux/kernel/hardened-config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened-config.nix
@@ -11,7 +11,8 @@
 { stdenv, version }:
 
 with stdenv.lib;
-with import ../../../../lib/kernel.nix { inherit (stdenv) lib; inherit version; };
+with stdenv.lib.kernel;
+with (stdenv.lib.kernel.whenHelpers version);
 
 assert (versionAtLeast version "4.9");
 
diff --git a/pkgs/os-specific/linux/kernel/mptcp-config.nix b/pkgs/os-specific/linux/kernel/mptcp-config.nix
index e5e3ee283ff..9752e63d9f9 100644
--- a/pkgs/os-specific/linux/kernel/mptcp-config.nix
+++ b/pkgs/os-specific/linux/kernel/mptcp-config.nix
@@ -1,5 +1,5 @@
 { stdenv }:
-with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; };
+with stdenv.lib.kernel;
 {
     # DRM_AMDGPU = yes;