id = "znc"
name = "ZNC"
homepage = "https://znc.in/"
description = "An advanced IRC bouncer."
executables = ["znc"]
[dotfiles]
paths = ["~/.znc/configs/znc.conf"]
exclude = []
secret = ["~/.znc/znc.pem"]
[[dotfiles.secret_paths]]
file = "~/.znc/configs/znc.conf"
match = { prefix = ["Pass", "Server"] }
[commands]
format = 1
label = "Run ZNC"
description = "Start the ZNC IRC bouncer, or run its one-off setup actions (new config, password hash, certificate)."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = true }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://github.com/znc/znc/blob/master/man/znc.1"
evidence = """
-n, --no-color Don't use any color escape sequences.
-f, --foreground Don't fork the ZNC process into the background.
-D, --debug Print debug output to the console. Implies --foreground.
-d DATADIR, --datadir=DATADIR Specify another datadir.
-c, --makeconf Interactively create a new configuration.
-s, --makepass Hash a password for use in znc.conf.
-p, --makepem Generate znc.pem.
-r, --allow-root Don't complain if ZNC is run with root privileges.
"""
[[commands.field]]
id = "datadir"
label = "Data directory"
type = "path"
path = { kind = "directory", role = "input" }
option = ["--datadir", "-d"]
sources = ["man"]
[[commands.field]]
id = "foreground"
label = "Stay in foreground"
type = "boolean"
option = ["--foreground", "-f"]
sources = ["man"]
[[commands.field]]
id = "debug"
label = "Debug output"
type = "boolean"
option = ["--debug", "-D"]
sources = ["man"]
[[commands.field]]
id = "no_color"
label = "No color escapes"
type = "boolean"
option = ["--no-color", "-n"]
sources = ["man"]
[[commands.field]]
id = "allow_root"
label = "Allow running as root"
type = "boolean"
option = ["--allow-root", "-r"]
sources = ["man"]
[[commands.field]]
id = "makeconf"
label = "Create a new configuration interactively"
type = "boolean"
option = ["--makeconf", "-c"]
sources = ["man"]
[[commands.field]]
id = "makepass"
label = "Hash a password"
type = "boolean"
option = ["--makepass", "-s"]
sources = ["man"]
[[commands.field]]
id = "makepem"
label = "Generate znc.pem"
type = "boolean"
option = ["--makepem", "-p"]
sources = ["man"]
[[commands.task]]
id = "start"
label = "Start in the foreground"
fields = ["datadir", "foreground", "debug", "no_color"]
required = []
set = { foreground = [true] }
[[commands.task]]
id = "makeconf"
label = "Create configuration"
fields = ["datadir", "makeconf"]
required = ["makeconf"]
set = { makeconf = [true] }
[[commands.task]]
id = "makepass"
label = "Hash a password"
fields = ["makepass"]
required = ["makepass"]
set = { makepass = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["datadir", "foreground", "debug", "makeconf", "makepass", "makepem"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["no_color", "allow_root"]