diff --git a/flake.lock b/flake.lock index ac0a17d2..be3692af 100644 --- a/flake.lock +++ b/flake.lock @@ -207,16 +207,16 @@ }, "nixpkgsV1": { "locked": { - "lastModified": 1678500271, - "narHash": "sha256-tRBLElf6f02HJGG0ZR7znMNFv/Uf7b2fFInpTHiHaSE=", + "lastModified": 1686501370, + "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5eb98948b66de29f899c7fe27ae112a47964baf8", + "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-22.11", + "ref": "nixos-unstable", "type": "indirect" } }, diff --git a/flake.nix b/flake.nix index e8b81c51..72d4d143 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - nixpkgsV1.url = "nixpkgs/nixos-22.11"; + nixpkgsV1.url = "nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs"; diff --git a/v1/nix/modules/drv-parts/nixpkgs-overrides/default.nix b/v1/nix/modules/drv-parts/nixpkgs-overrides/default.nix index 2d14fb13..72383aa5 100644 --- a/v1/nix/modules/drv-parts/nixpkgs-overrides/default.nix +++ b/v1/nix/modules/drv-parts/nixpkgs-overrides/default.nix @@ -15,13 +15,15 @@ .old; extractPythonAttrs = pythonPackage: let - pythonAttrs = extractOverrideAttrs pythonPackage.overridePythonAttrs; + pythonAttrs = + extractOverrideAttrs + (pythonPackage.overridePythonAttrs or pythonPackage.overrideAttrs); in l.filterAttrs (name: _: ! exclude ? ${name}) pythonAttrs; extracted = - if config.deps.python.pkgs ? ${config.name} - then extractPythonAttrs config.deps.python.pkgs.${config.name} + if cfg.from != null + then extractPythonAttrs cfg.from else {}; extractedMkDerivation = diff --git a/v1/nix/modules/drv-parts/nixpkgs-overrides/interface.nix b/v1/nix/modules/drv-parts/nixpkgs-overrides/interface.nix index f10b48de..2c92ad7d 100644 --- a/v1/nix/modules/drv-parts/nixpkgs-overrides/interface.nix +++ b/v1/nix/modules/drv-parts/nixpkgs-overrides/interface.nix @@ -14,6 +14,12 @@ in { description = "Attributes we do not want to copy from nixpkgs"; }; + from = l.mkOption { + type = t.nullOr t.package; + description = "package from which to extract the attributes"; + default = config.deps.python.pkgs.${config.name} or null; + }; + lib.extractOverrideAttrs = l.mkOption { type = t.functionTo t.attrs; description = '' diff --git a/v1/nix/modules/drv-parts/nodejs-package-json/default.nix b/v1/nix/modules/drv-parts/nodejs-package-json/default.nix index 65d6d9b4..b500cfab 100644 --- a/v1/nix/modules/drv-parts/nodejs-package-json/default.nix +++ b/v1/nix/modules/drv-parts/nodejs-package-json/default.nix @@ -19,6 +19,15 @@ ; }; + npm_8 = nodejs: + nodejs.pkgs.npm.override (old: rec { + version = "8.19.4"; + src = builtins.fetchTarball { + url = "https://registry.npmjs.org/npm/-/npm-${version}.tgz"; + sha256 = "0xmvjkxgfavlbm8cj3jx66mlmc20f9kqzigjqripgj71j6b2m9by"; + }; + }); + npmArgs = l.concatStringsSep " " (map (arg: "'${arg}'") cfg.npmArgs); in { imports = [ @@ -38,7 +47,7 @@ in { writeScript writeScriptBin ; - inherit (nixpkgs.nodePackages) npm; + npm = npm_8 nixpkgs.nodejs; }; lock.fields.package-lock.script = diff --git a/v1/nix/modules/drvs/apache-airflow/default.nix b/v1/nix/modules/drvs/apache-airflow/default.nix index 1aef9ad6..31c873e5 100644 --- a/v1/nix/modules/drvs/apache-airflow/default.nix +++ b/v1/nix/modules/drvs/apache-airflow/default.nix @@ -6,7 +6,7 @@ l = lib // builtins; python = config.deps.python; extractPythonAttrs = config.nixpkgs-overrides.lib.extractPythonAttrs; - nixpkgsAttrs = extractPythonAttrs python.pkgs.apache-airflow; + nixpkgsAttrs = extractPythonAttrs config.deps.apache-airflow; in { imports = [ ../../drv-parts/pip @@ -20,6 +20,7 @@ in { }: { inherit (nixpkgs) + apache-airflow git fetchFromGitHub ; @@ -47,7 +48,6 @@ in { inherit (nixpkgsAttrs) buildInputs - checkInputs postPatch postInstall preCheck @@ -96,4 +96,7 @@ in { pytestFlagsArray ; }; + + nixpkgs-overrides.from = + config.deps.apache-airflow.pythonPackages.apache-airflow; } diff --git a/v1/nix/modules/drvs/prettier-no-lock/default.nix b/v1/nix/modules/drvs/prettier-no-lock/default.nix index 8c5a7919..dd504f1d 100644 --- a/v1/nix/modules/drvs/prettier-no-lock/default.nix +++ b/v1/nix/modules/drvs/prettier-no-lock/default.nix @@ -4,6 +4,7 @@ ... }: let l = lib // builtins; + system = config.deps.stdenv.system; in { imports = [ ../../drv-parts/nodejs-package-json @@ -29,4 +30,7 @@ in { name = l.mkForce "prettier"; version = l.mkForce "2.8.7"; + + lock.lockFileRel = + l.mkForce "/v1/nix/modules/drvs/prettier-no-lock/lock-${system}.json"; }