forked from extern/flakelight
62083df539
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.
20 lines
459 B
Nix
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;
|
|
};
|
|
}
|