diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2023-05-05 21:29:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-05 21:29:42 +0200 |
commit | 4563892ca77263ae8cc543650af64ecd0a124f86 (patch) | |
tree | fddb55ff565fb8d6567910504bc72e1de1198677 /pkgs/development/node-packages | |
parent | e31c8b22ddb121f8840e2c94fa25557b572e3bb5 (diff) | |
parent | 61c2c744a1d1170d6e6a193536885f736ba4ca7e (diff) |
Merge pull request #229639 from lilyinstarlight/feature/node-aliases
nodePackages: add aliases
Diffstat (limited to 'pkgs/development/node-packages')
-rw-r--r-- | pkgs/development/node-packages/aliases.nix | 38 | ||||
-rw-r--r-- | pkgs/development/node-packages/default.nix | 7 | ||||
-rw-r--r-- | pkgs/development/node-packages/main-programs.nix | 1 | ||||
-rw-r--r-- | pkgs/development/node-packages/overrides.nix | 2 |
4 files changed, 44 insertions, 4 deletions
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix new file mode 100644 index 0000000000000..f5b73e9f352f4 --- /dev/null +++ b/pkgs/development/node-packages/aliases.nix @@ -0,0 +1,38 @@ +pkgs: lib: self: super: + +### Deprecated aliases - for backward compatibility + +with self; + +let + # Removing recurseForDerivation prevents derivations of aliased attribute + # set to appear while listing all the packages available. + removeRecurseForDerivations = alias: with lib; + if alias.recurseForDerivations or false + then removeAttrs alias ["recurseForDerivations"] + else alias; + + # Disabling distribution prevents top-level aliases for non-recursed package + # sets from building on Hydra. + removeDistribute = alias: with lib; + if isDerivation alias then + dontDistribute alias + else alias; + + # Make sure that we are not shadowing something from node-packages.nix. + checkInPkgs = n: alias: + if builtins.hasAttr n super + then throw "Alias ${n} is still in node-packages.nix" + else alias; + + mapAliases = aliases: + lib.mapAttrs (n: alias: + removeDistribute + (removeRecurseForDerivations + (checkInPkgs n alias))) + aliases; +in + +mapAliases ({ + "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; # Added 2023-05-02 +}) diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 0fcd508012e8a..506dc8a525caa 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, nodejs, stdenv}: +{ config, pkgs, lib, nodejs, stdenv }: let inherit (lib) composeManyExtensions extends makeExtensible mapAttrs; @@ -15,7 +15,12 @@ let }) ) (import ./main-programs.nix); + aliases = final: prev: + lib.optionalAttrs config.allowAliases + (import ./aliases.nix pkgs lib final prev); + extensions = composeManyExtensions [ + aliases mainProgramOverrides (import ./overrides.nix { inherit pkgs nodejs; }) ]; diff --git a/pkgs/development/node-packages/main-programs.nix b/pkgs/development/node-packages/main-programs.nix index 7fc28c6cdd406..ab425e91ff991 100644 --- a/pkgs/development/node-packages/main-programs.nix +++ b/pkgs/development/node-packages/main-programs.nix @@ -20,7 +20,6 @@ "@commitlint/cli" = "commitlint"; "@forge/cli" = "forge"; "@gitbeaker/cli" = "gitbeaker"; - "@githubnext/github-copilot-cli" = "github-copilot-cli"; "@google/clasp" = "clasp"; "@medable/mdctl-cli" = "mdctl"; "@mermaid-js/mermaid-cli" = "mmdc"; diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index 10c4e6e6bbc64..11ab1f8b54759 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -39,8 +39,6 @@ final: prev: { ]; }; - "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; - "@medable/mdctl-cli" = prev."@medable/mdctl-cli".override (oldAttrs: { nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [ glib |