Skip to content

Commit

Permalink
Remove safeEval* and other weeds
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasjm committed Sep 20, 2024
1 parent 8fd23e0 commit a910199
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 36 deletions.
30 changes: 0 additions & 30 deletions modules/languages/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
17 changes: 11 additions & 6 deletions modules/tools/sqlite-indexer/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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));

Expand All @@ -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);
Expand Down

0 comments on commit a910199

Please sign in to comment.