<metaname="description"content="System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js."/>
<metaproperty="og:description"content="System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js."/>
{"mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/config-hjson.html"},"description":"System Configuration The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js.","url":"/enigma-bbs/configuration/config-hjson.html","@type":"BlogPosting","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"headline":"System Configuration","dateModified":"2022-08-31T03:27:26+00:00","datePublished":"2022-08-31T03:27:26+00:00","@context":"https://schema.org"}</script>
<p>The main system configuration file, <codeclass="language-plaintext highlighter-rouge">config.hjson</code> both overrides defaults and provides additional configuration such as message areas. Defaults lived in <codeclass="language-plaintext highlighter-rouge">core/config_default.js</code>.</p>
<p>The default path is <codeclass="language-plaintext highlighter-rouge">/enigma-bbs/config/config.hjson</code> though this can be overridden using the <codeclass="language-plaintext highlighter-rouge">--config</code> parameter when invoking <codeclass="language-plaintext highlighter-rouge">main.js</code>.</p>
<p><imgclass="emoji"title=":information_source:"alt=":information_source:"src="https://github.githubassets.com/images/icons/emoji/unicode/2139.png"height="20"width="20"> See also <ahref="/enigma-bbs/configuration/config-files.html">Configuration Files</a>. Additionally <ahref="/enigma-bbs/configuration/hjson.html">HJSON General Information</a> may be helpful for more information on the HJSON format.</p>
<h3id="creating-a-configuration">Creating a Configuration</h3>
<p>Your initial configuration skeleton should be created using the <codeclass="language-plaintext highlighter-rouge">oputil.js</code> command line utility. From your enigma-bbs root directory:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>./oputil.js config new
</code></pre></div></div>
<p>You will be asked a series of questions to create an initial configuration.</p>
<p>The file <codeclass="language-plaintext highlighter-rouge">core/config_default.js</code> provides various defaults to the system that you can override via <codeclass="language-plaintext highlighter-rouge">config.hjson</code>. For example, the default system name is defined as follows:</p>
<spanclass="nl">boardName</span><spanclass="p">:</span><spanclass="dl">'</span><spanclass="s1">Another Fine ENiGMA½ System</span><spanclass="dl">'</span>
<spanclass="p">}</span>
</code></pre></div></div>
<p>To override this for your own board, in <codeclass="language-plaintext highlighter-rouge">config.hjson</code>:</p>
<pre><codeclass="language-hjson">general: {
boardName: Super Fancy BBS
}
</code></pre>
<p>(Note the very slightly <ahref="/enigma-bbs/configuration/hjson.html">HJSON</a> different syntax. <strong>You can use standard JSON if you wish!</strong>)</p>
<p>While not everything that is available in your <codeclass="language-plaintext highlighter-rouge">config.hjson</code> file can be found defaulted in <codeclass="language-plaintext highlighter-rouge">core/config_default.js</code>, a lot is. <ahref="https://github.com/NuSkooler/enigma-bbs/blob/master/core/config_default.js">Poke around and see what you can find</a>!</p>
<ahref="/enigma-bbs/configuration/archivers.html">Archivers</a>: Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on.</li>
<li>
<ahref="/enigma-bbs/configuration/email.html">Email</a>: System email support.</li>
<li>
<ahref="/enigma-bbs/configuration/event-scheduler.html">Event Scheduler</a>: Set up events as you see fit!</li>
<ahref="/enigma-bbs/configuration/file-transfer-protocols.html">File Transfer Protocols</a>: Oldschool file transfer protocols such as X/Y/Z-Modem!</li>