about summary refs log tree commit diff
path: root/modules/README.md
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-03-18 02:19:58 +0100
committeraszlig <aszlig@redmoonstudios.org>2015-03-18 02:19:58 +0100
commit76f91e7ff67e1eda38b9c6a75bf28039d4cc7e26 (patch)
tree9eb26f7597192365e54854f614119ff4b991b297 /modules/README.md
parenteaa6c1e063d06cc75ec69ba754f5f7fd37dc3e55 (diff)
modules: Add a small README about contribution.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'modules/README.md')
-rw-r--r--modules/README.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/README.md b/modules/README.md
new file mode 100644
index 00000000..5d62d3ac
--- /dev/null
+++ b/modules/README.md
@@ -0,0 +1,34 @@
+This directory contains various NixOS modules.
+
+If you add a module here, make sure that you define all options using a
+`vuizvui.*` namespace, so that the documentation is generated and you don't
+clash with modules from upstream [nixpkgs](https://github.com/NixOS/nixpkgs).
+
+For writing modules, make sure to categorize them accordingly:
+
+<table>
+  <tr>
+    <th>profiles</th>
+    <td>Options for a specific domain (like for example
+        `desktop`, `router`, `music`, ...)
+    </td>
+  </tr>
+  <tr>
+    <th>programs</th>
+    <td>Program-specific configuration options</td>
+  </tr>
+  <tr>
+    <th>services</th>
+    <td>Modules that implement systemd services</td>
+  </tr>
+  <tr>
+    <th>tasks</th>
+    <td>Various one-shot services</td>
+  </tr>
+</table>
+
+If a module is highly specific for your own configuration, use the same
+categories but put them under `user/$category/$module`.
+
+Don't forget to add your module to the list module-list.nix, but make sure you
+have options in place to disable them by default.