summary refs log tree commit diff
path: root/nixos/doc/manual/development
diff options
context:
space:
mode:
authorBobby Rong <rjl931189261@126.com>2021-07-03 22:19:26 +0800
committerBobby Rong <rjl931189261@126.com>2021-07-03 22:20:55 +0800
commita743c6d35a8e59aa8d0d92494c8e00a525a384f8 (patch)
tree98f20657a5a4b6aa750acffb2557342f0772eb17 /nixos/doc/manual/development
parent9afb04f765bba1015314efb723a58ed68c393021 (diff)
downloadnixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.tar
nixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.tar.gz
nixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.tar.bz2
nixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.tar.lz
nixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.tar.xz
nixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.tar.zst
nixpkgs-a743c6d35a8e59aa8d0d92494c8e00a525a384f8.zip
nixos: nixos/doc/manual/development/replace-modules.xml to CommonMark
Diffstat (limited to 'nixos/doc/manual/development')
-rw-r--r--nixos/doc/manual/development/replace-modules.section.md64
-rw-r--r--nixos/doc/manual/development/replace-modules.xml79
-rw-r--r--nixos/doc/manual/development/writing-modules.xml2
3 files changed, 65 insertions, 80 deletions
diff --git a/nixos/doc/manual/development/replace-modules.section.md b/nixos/doc/manual/development/replace-modules.section.md
new file mode 100644
index 00000000000..0700a82004c
--- /dev/null
+++ b/nixos/doc/manual/development/replace-modules.section.md
@@ -0,0 +1,64 @@
+# Replace Modules {#sec-replace-modules}
+
+Modules that are imported can also be disabled. The option declarations,
+config implementation and the imports of a disabled module will be
+ignored, allowing another to take it\'s place. This can be used to
+import a set of modules from another channel while keeping the rest of
+the system on a stable release.
+
+`disabledModules` is a top level attribute like `imports`, `options` and
+`config`. It contains a list of modules that will be disabled. This can
+either be the full path to the module or a string with the filename
+relative to the modules path (eg. \<nixpkgs/nixos/modules> for nixos).
+
+This example will replace the existing postgresql module with the
+version defined in the nixos-unstable channel while keeping the rest of
+the modules and packages from the original nixos channel. This only
+overrides the module definition, this won\'t use postgresql from
+nixos-unstable unless explicitly configured to do so.
+
+```nix
+{ config, lib, pkgs, ... }:
+
+{
+  disabledModules = [ "services/databases/postgresql.nix" ];
+
+  imports =
+    [ # Use postgresql service from nixos-unstable channel.
+      # sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
+      <nixos-unstable/nixos/modules/services/databases/postgresql.nix>
+    ];
+
+  services.postgresql.enable = true;
+}
+```
+
+This example shows how to define a custom module as a replacement for an
+existing module. Importing this module will disable the original module
+without having to know it\'s implementation details.
+
+```nix
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.man;
+in
+
+{
+  disabledModules = [ "services/programs/man.nix" ];
+
+  options = {
+    programs.man.enable = mkOption {
+      type = types.bool;
+      default = true;
+      description = "Whether to enable manual pages.";
+    };
+  };
+
+  config = mkIf cfg.enabled {
+    warnings = [ "disabled manpages for production deployments." ];
+  };
+}
+```
diff --git a/nixos/doc/manual/development/replace-modules.xml b/nixos/doc/manual/development/replace-modules.xml
deleted file mode 100644
index 9fc5678ca1b..00000000000
--- a/nixos/doc/manual/development/replace-modules.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-        xmlns:xlink="http://www.w3.org/1999/xlink"
-        xmlns:xi="http://www.w3.org/2001/XInclude"
-        version="5.0"
-        xml:id="sec-replace-modules">
- <title>Replace Modules</title>
-
- <para>
-  Modules that are imported can also be disabled. The option declarations,
-  config implementation and the imports of a disabled module will be ignored, allowing another
-  to take it's place. This can be used to import a set of modules from another
-  channel while keeping the rest of the system on a stable release.
- </para>
-
- <para>
-  <literal>disabledModules</literal> is a top level attribute like
-  <literal>imports</literal>, <literal>options</literal> and
-  <literal>config</literal>. It contains a list of modules that will be
-  disabled. This can either be the full path to the module or a string with the
-  filename relative to the modules path (eg. &lt;nixpkgs/nixos/modules&gt; for
-  nixos).
- </para>
-
- <para>
-  This example will replace the existing postgresql module with the version
-  defined in the nixos-unstable channel while keeping the rest of the modules
-  and packages from the original nixos channel. This only overrides the module
-  definition, this won't use postgresql from nixos-unstable unless explicitly
-  configured to do so.
- </para>
-
-<programlisting>
-{ config, lib, pkgs, ... }:
-
-{
-  disabledModules = [ "services/databases/postgresql.nix" ];
-
-  imports =
-    [ # Use postgresql service from nixos-unstable channel.
-      # sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
-      &lt;nixos-unstable/nixos/modules/services/databases/postgresql.nix&gt;
-    ];
-
-  services.postgresql.enable = true;
-}
-</programlisting>
-
- <para>
-  This example shows how to define a custom module as a replacement for an
-  existing module. Importing this module will disable the original module
-  without having to know it's implementation details.
- </para>
-
-<programlisting>
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.programs.man;
-in
-
-{
-  disabledModules = [ "services/programs/man.nix" ];
-
-  options = {
-    programs.man.enable = mkOption {
-      type = types.bool;
-      default = true;
-      description = "Whether to enable manual pages.";
-    };
-  };
-
-  config = mkIf cfg.enabled {
-    warnings = [ "disabled manpages for production deployments." ];
-  };
-}
-</programlisting>
-</section>
diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml
index bb108d18375..7cf7c9b6299 100644
--- a/nixos/doc/manual/development/writing-modules.xml
+++ b/nixos/doc/manual/development/writing-modules.xml
@@ -185,7 +185,7 @@ in {
  <xi:include href="../from_md/development/assertions.section.xml" />
  <xi:include href="../from_md/development/meta-attributes.section.xml" />
  <xi:include href="../from_md/development/importing-modules.section.xml" />
- <xi:include href="replace-modules.xml" />
+ <xi:include href="../from_md/development/replace-modules.section.xml" />
  <xi:include href="freeform-modules.xml" />
  <xi:include href="settings-options.xml" />
 </chapter>