51 lines
842 B
Nix
51 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;
|
|
};
|
|
}
|