nix-community.nixvim/lib/pkg-lists.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
752 B
Nix
Raw Normal View History

# This file isn't (currently) part of `lib.nixvim`, but is used directly by `efmls` and `none-ls` pkg lists
lib: rec {
# Produces an attrset of { ${name} = name; }
topLevel = names: lib.genAttrs names lib.id;
# Produces an attrset of { ${name} = null; }
nullAttrs = names: lib.genAttrs names (_: null);
# Produces an attrset of { ${name} = [ scope name ]; }
# Where the "scope" is the (nested) attr names,
# and "name" is the value.
# If the name value is a list, it will be expanded into multiple attrs.
scoped = lib.concatMapAttrs (
scope: v:
if builtins.isAttrs v then
lib.mapAttrs (_: loc: [ scope ] ++ loc) (scoped v)
else
lib.genAttrs (lib.toList v) (name: [
scope
name
])
);
}