29 lines
1014 B
Nix
29 lines
1014 B
Nix
{ pkgs, inputs }:
|
|
let
|
|
schemesConfig = import ../config/schemes.nix { inherit pkgs inputs; };
|
|
availableSchemes = builtins.attrNames schemesConfig.schemes;
|
|
in
|
|
{
|
|
inherit availableSchemes;
|
|
lightSchemes = builtins.filter (
|
|
name: schemesConfig.schemes.${name}.polarity == "light"
|
|
) availableSchemes;
|
|
darkSchemes = builtins.filter (
|
|
name: schemesConfig.schemes.${name}.polarity == "dark"
|
|
) availableSchemes;
|
|
schemesByColor =
|
|
color: builtins.filter (name: schemesConfig.schemes.${name}.color == color) availableSchemes;
|
|
getScheme = name: schemesConfig.schemes.${name};
|
|
isValidScheme = name: builtins.hasAttr name schemesConfig.schemes;
|
|
availableColors = pkgs.lib.unique (
|
|
builtins.filter (color: color != null) (
|
|
builtins.map (name: schemesConfig.schemes.${name}.color) availableSchemes
|
|
)
|
|
);
|
|
availableBase16Schemes = pkgs.lib.unique (
|
|
builtins.filter (name: name != null) (
|
|
builtins.map (name: schemesConfig.schemes.${name}.name) availableSchemes
|
|
)
|
|
);
|
|
}
|