From e28185a2c062e7d77fd2a71678a75ce7a2eeb6fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Favier?= Date: Thu, 25 Nov 2021 02:55:38 +0100 Subject: [PATCH] vscode: avoid unnecessary IFD (#2506) --- modules/programs/vscode.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/programs/vscode.nix b/modules/programs/vscode.nix index 19420dc9d..5fa2d59ed 100644 --- a/modules/programs/vscode.nix +++ b/modules/programs/vscode.nix @@ -127,11 +127,13 @@ in { # Adapted from https://discourse.nixos.org/t/vscode-extensions-setup/1801/2 home.file = let subDir = "share/vscode/extensions"; - toPaths = path: - # Links every dir in path to the extension path. - mapAttrsToList - (k: _: { "${extensionPath}/${k}".source = "${path}/${subDir}/${k}"; }) - (builtins.readDir (path + "/${subDir}")); + toPaths = ext: + # Links every dir in ext to the extension path. + map (k: { "${extensionPath}/${k}".source = "${ext}/${subDir}/${k}"; }) + (if ext ? vscodeExtUniqueId then + [ ext.vscodeExtUniqueId ] + else + builtins.attrNames (builtins.readDir (ext + "/${subDir}"))); toSymlink = concatMap toPaths cfg.extensions; dropNullFields = filterAttrs (_: v: v != null); in foldr (a: b: a // b) {