{lib, ...}: let inherit (builtins) readDir ; inherit (lib) filterAttrs hasPrefix hasSuffix mapAttrs' nameValuePair ; in rec { filter = name: func: attrs: filterAttrs name (mapAttrs' func attrs); # 'sops' Encrypted Secrets hm_secrets = dir: out_dir: filter (name: type: type != null && !(hasPrefix "_" name)) (name: type: # if type == "regular" && hasSuffix ".age" name if type == "regular" then nameValuePair name { sopsFile = dir + "/${name}"; format = "binary"; path = out_dir + "/${name}"; } else nameValuePair "" null) (readDir dir); }