diff --git a/modules/languages/common.nix b/modules/languages/common.nix index c551277..1250478 100644 --- a/modules/languages/common.nix +++ b/modules/languages/common.nix @@ -51,10 +51,6 @@ rec { inherit meta passthru; }); - writeShellScriptBinWithMeta = meta: path: text: (writeTextDir path text).overrideAttrs (old: { - inherit meta; - }); - writeShellScriptBinWithAttrs = attrs: path: text: (writeShellScriptBin path text).overrideAttrs (old: attrs); searcher = packages: (callPackage ../tools/sqlite-indexer { inherit packages; }).searcher; @@ -75,31 +71,5 @@ rec { in concatStrings withMaxComponents; - hasAttrSafe = x: set: hasAttr x set && (let - evaluated = builtins.tryEval (getAttr x set); - in - if evaluated.success then true else false); - - safeEval = safeEval' ""; - safeEval' = default: e: let - evaluated = builtins.tryEval e; - in - if evaluated.success then evaluated.value else default; - - isTrue = settings: name: hasAttr name settings && getAttr name settings == true; - - focusSettings = prefix: settings: with lib; let - filtered = lib.filterAttrs (n: _: hasPrefix prefix n) settings; - in - listToAttrs (mapAttrsToList (n: v: { - name = removePrefix prefix n; - value = v; - }) filtered); - - makeDefaultSettings = settingsSchema: listToAttrs (map (item: { - name = item.target; - value = item.defaultValue; - }) (filter (hasAttr "target") settingsSchema)); - packageName = p: if lib.isString p then p else p.name; } diff --git a/modules/tools/sqlite-indexer/default.nix b/modules/tools/sqlite-indexer/default.nix index 124f898..40aabf2 100644 --- a/modules/tools/sqlite-indexer/default.nix +++ b/modules/tools/sqlite-indexer/default.nix @@ -27,16 +27,21 @@ let numVersionComponents = 5; componentPadLength = 3; - filteredPackages = with lib; filterAttrs (name: value: common.safeEval' false ( - (!packageMustBeDerivation || isDerivation(value)) + safeEval' = default: e: let + evaluated = builtins.tryEval e; + in + if evaluated.success then evaluated.value else default; + + filteredPackages = with lib; filterAttrs (name: value: safeEval' false ( + (!packageMustBeDerivation || isDerivation value) && - (!packageMustHaveName || (lib.attrByPath ["meta" "name"] "" value != "")) + (!packageMustHaveName || ((value.meta.name or "") != "")) )) packages; json = writeText "packages-index-yaml.json" (lib.generators.toJSON {} (lib.mapAttrsToList (k: v: { attr = attrPrefix + k; - name = common.safeEval (lib.attrByPath ["meta" "name"] "" v); - version = common.safeEval (common.lexicographyVersionNumber' numVersionComponents componentPadLength (lib.attrByPath ["meta" "version"] "" v)); + name = v.meta.name or ""; + version = common.lexicographyVersionNumber' numVersionComponents componentPadLength (v.meta.version or ""); meta = uiMetadata.chooseInterestingMeta v; }) filteredPackages)); @@ -61,7 +66,7 @@ rec { ''; allIcons = let - uniquePaths = lib.mapAttrsToList (k: v: common.safeEval (lib.attrByPath ["meta" "icon"] null v)) filteredPackages; + uniquePaths = lib.mapAttrsToList (k: v: v.meta.icon or null) filteredPackages; in linkFarm "all-searcher-icons" (map (path: { name = builtins.hashString "md5" (toString path);