53 lines
966 B
Nix
53 lines
966 B
Nix
## WARNING: Do not add core logic here.
|
|
## This is only a wrapper such that 'clan' can be called as a function.
|
|
{
|
|
lib,
|
|
clan-core,
|
|
}:
|
|
/**
|
|
Function that takes clan options as function arguments.
|
|
|
|
It behaves equivalent to:
|
|
|
|
```nix
|
|
{
|
|
imports = [
|
|
clan-core.modules.clan.default
|
|
args
|
|
];
|
|
}
|
|
```
|
|
|
|
Arguments:
|
|
|
|
- self: Reference to the current flake. This is required be passed.
|
|
- ...: All other arguments - Which are options as of the 'clan.*' module
|
|
|
|
Returns:
|
|
The clan configuration.
|
|
*/
|
|
{
|
|
self ? lib.warn "Argument: 'self' must be set" null, # Reference to the current flake
|
|
...
|
|
}@m:
|
|
let
|
|
nixpkgs = self.inputs.nixpkgs or clan-core.inputs.nixpkgs;
|
|
nix-darwin = self.inputs.nix-darwin or clan-core.inputs.nix-darwin;
|
|
in
|
|
lib.evalModules {
|
|
class = "clan";
|
|
specialArgs = {
|
|
inherit
|
|
self
|
|
;
|
|
inherit
|
|
nixpkgs
|
|
nix-darwin
|
|
;
|
|
};
|
|
modules = [
|
|
clan-core.modules.clan.default
|
|
m
|
|
];
|
|
}
|