2.0 KiB
Puter Mods
What is a Puter Mod?
Currently, the definition of a Puter mod is:
A Module which is exported by a package directory which itself exists within a directory specified in the
mod_directories
array inconfig.json
.
Enabling Puter Mods
Step 1: Update Configuration
First update the configuration (usually at ./volatile/config.json
or /var/puter/config.json
) to specify mod directories.
{
"config_name": "example config",
"mod_directories": [
"{source}/mods/mods_enabled"
]
// ... other config options
}
The first path you'll want to add is
"{source}/mods/mods_enabled"
which adds all the mods included in Puter's official repository.
You don't need to change {source}
unless your entry javascript
file is in a different location than the default.
If you want to enable all the mods, you can change the path above
to mods_available
instead and skip step 2 below.
Step 2: Select Mods
To enable a Puter mod, create a symbolic link (AKA symlink) in
mods/mods_enabled
, pointing to
a directory in mods/mods_available
. This follows the same convention
as managing sites/mods in Apache or Nginx servers.
For example to enable KDMOD (which you can read as "Kernel Dev" mod, or "the mod that GitHub user KernelDeimos created to help with testing") you would run this command:
ln -rs ./mods/mods_available/kdmod ./mods/mods_enabled/
This will create a symlink at ./mods/mods_enabled/kdmod
pointing
to the directory ./mods/mods_available/kdmod
.
note: here are some helpful tips for the
ln
command:
- You can remember
ln
's first argument is the unaffected source file by rememberingcp
andmv
are the same in this way.- If you don't add
-s
you get a hard link. You will rarely find yourself needing to do that.- The
-r
flag allows you to write both paths relative to the directory from which you are calling the command, which is sometimes more intuitive.