1
1
forked from extern/flakelight
flakelight/builtinModules/functor.nix
Archit Gupta 62083df539 Add functor option for flake's __functor attribute
This allows for conveniently making flakes callable.

Setting this is expected to be uncommon in general, but having the
option is useful as flakelight module flakes can use this to reduce the
boilerplate in using them.
2023-09-13 21:02:39 -07:00

20 lines
459 B
Nix

# flakelight -- Framework for simplifying flake setup
# Copyright (C) 2023 Archit Gupta <archit@accelbread.com>
# SPDX-License-Identifier: MIT
{ config, lib, ... }:
let
inherit (lib) mkOption mkIf;
inherit (lib.types) functionTo nullOr raw uniq;
in
{
options.functor = mkOption {
type = nullOr (uniq (functionTo (functionTo raw)));
default = null;
};
config.outputs = mkIf (config.functor != null) {
__functor = config.functor;
};
}