Skip to content

Commit f120c69

Browse files
committed
fix(nix): fix extension removal logic
remove extensions based on the platform (before trying to apply fixes from nixpkgs)
1 parent fb6f133 commit f120c69

File tree

2 files changed

+15
-32
lines changed

2 files changed

+15
-32
lines changed

flake.nix

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -173,35 +173,6 @@
173173
# platform-specific extensions will overwrite universal extensions
174174
# due to the sorting order of platforms in the Haskell script
175175
(builtins.mapAttrs (_: builtins.foldl' (k: { name, value }: k // { ${name} = value; }) { }))
176-
(
177-
x:
178-
builtins.foldl'
179-
(
180-
extensions: removedPublisherConfig:
181-
if !(extensions ? ${removedPublisherConfig.publisher}) then
182-
extensions
183-
else
184-
extensions
185-
// {
186-
"${removedPublisherConfig.publisher}" = builtins.foldl' (
187-
publisherExtensions: extensionName:
188-
publisherExtensions
189-
// {
190-
"${extensionName}" = builtins.throw ''
191-
The extension '${removedPublisherConfig.publisher}.${extensionName}' was removed.
192-
See '${./removed.nix}' for details.
193-
'';
194-
}
195-
) extensions.${removedPublisherConfig.publisher} removedPublisherConfig.extensions;
196-
}
197-
)
198-
x
199-
(
200-
pkgs.lib.attrsets.mapAttrsToList (publisher: extensions: {
201-
inherit publisher extensions;
202-
}) (import ./removed.nix)
203-
)
204-
)
205176
];
206177
mkSet =
207178
attrs@{

mkExtension.nix

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ let
5858
'';
5959
};
6060
};
61-
61+
62+
extensionsRemoved = (import ./removed.nix).${pkgs.system} or [ ];
6263

6364
mkExtensionNixpkgs =
6465
# apply fixes from nixpkgs
@@ -75,7 +76,7 @@ let
7576
# extensions with fixes
7677
# where mktplcRef and vsix are overridable
7778
haveFixesOverridable = [
78-
# from the directory https://github.com/NixOS/nixpkgs/tree/555702214240ef048370f6c2fe27674ec73da765/pkgs/applications/editors/vscode/extensions
79+
# have own directories in https://github.com/NixOS/nixpkgs/tree/555702214240ef048370f6c2fe27674ec73da765/pkgs/applications/editors/vscode/extensions
7980
"asciidoctor.asciidoctor-vscode"
8081
"azdavis.millet"
8182
"b4dm4n.vscode-nixpkgs-fmt"
@@ -122,6 +123,7 @@ let
122123
extensionsNixpkgs = callPackage extensionsNixpkgsPath { };
123124

124125
fixed = lib.trivial.pipe haveFixesOverridable [
126+
(builtins.filter (x: !(builtins.elem x extensionsRemoved)))
125127
(builtins.map (
126128
fullName:
127129
let
@@ -164,7 +166,17 @@ let
164166
chooseMkExtension =
165167
self:
166168
{ mktplcRef, vsix }@extensionConfig:
167-
((self.${mktplcRef.publisher} or { }).${mktplcRef.name} or mkExtension) extensionConfig;
169+
((self.${mktplcRef.publisher} or { }).${mktplcRef.name} or (
170+
if builtins.elem "${mktplcRef.publisher}.${mktplcRef.name}" extensionsRemoved then
171+
builtins.throw ''
172+
The extension '${mktplcRef.publisher}.${mktplcRef.name}' has been removed on ${pkgs.system}.
173+
See '${./removed.nix}' for details.
174+
''
175+
else
176+
mkExtension
177+
)
178+
)
179+
extensionConfig;
168180
in
169181
builtins.foldl' lib.attrsets.recursiveUpdate { } [
170182
mkExtensionNixpkgs

0 commit comments

Comments
 (0)