diff --git a/nix/overlays/iosevka/default.nix b/nix/overlays/iosevka/default.nix index 236e7059..bae060fa 100644 --- a/nix/overlays/iosevka/default.nix +++ b/nix/overlays/iosevka/default.nix @@ -29,18 +29,18 @@ let identityOverlay = _: _: { }; overlays = - lib.crossLists - ( - spacingCfg: variantCfg: - lib.composeManyExtensions [ - spacingCfg - variantCfg - ] - ) - [ + let + # Useless complexity just for the fun + n-airyToList = acc: x: { + value = acc ++ [ x ]; + __functor = self: n-airyToList self.value; + }; + combinations = lib.crossLists (n-airyToList [ ]) [ (import ./spacings.nix) ([ identityOverlay ] ++ import ./variants.nix) ]; + in + map ({ value, ... }: lib.composeManyExtensions value) combinations; iosevkas = lib.genAttrs' overlays ( overlay: