52 lines
842 B
Nix
52 lines
842 B
Nix
|
{ lib, ... }:
|
||
|
with lib;
|
||
|
rec {
|
||
|
## Create a NixOS module option.
|
||
|
##
|
||
|
## ```nix
|
||
|
## lib.mkOpt nixpkgs.lib.types.str "My default" "Description of my option."
|
||
|
## ```
|
||
|
##
|
||
|
#@ Type -> Any -> String
|
||
|
mkOpt =
|
||
|
type: default: description:
|
||
|
mkOption {
|
||
|
inherit
|
||
|
type
|
||
|
default
|
||
|
description
|
||
|
;
|
||
|
};
|
||
|
|
||
|
## Create a boolean NixOS module option.
|
||
|
##
|
||
|
## ```nix
|
||
|
## lib.mkBoolOpt true "Description of my option."
|
||
|
## ```
|
||
|
##
|
||
|
#@ Type -> Any -> String
|
||
|
mkBoolOpt = mkOpt types.bool;
|
||
|
|
||
|
enabled = {
|
||
|
## Quickly enable an option.
|
||
|
##
|
||
|
## ```nix
|
||
|
## services.nginx = enabled;
|
||
|
## ```
|
||
|
##
|
||
|
#@ true
|
||
|
enable = true;
|
||
|
};
|
||
|
|
||
|
disabled = {
|
||
|
## Quickly disable an option.
|
||
|
##
|
||
|
## ```nix
|
||
|
## services.nginx = enabled;
|
||
|
## ```
|
||
|
##
|
||
|
#@ false
|
||
|
enable = false;
|
||
|
};
|
||
|
}
|