diff options
Diffstat (limited to 'nixpkgs/nixos/doc/manual/from_md/development/replace-modules.section.xml')
-rw-r--r-- | nixpkgs/nixos/doc/manual/from_md/development/replace-modules.section.xml | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/replace-modules.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/replace-modules.section.xml deleted file mode 100644 index cf8a39ba844f..000000000000 --- a/nixpkgs/nixos/doc/manual/from_md/development/replace-modules.section.xml +++ /dev/null @@ -1,70 +0,0 @@ -<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" 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. - <nixpkgs/nixos/modules> 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 language="bash"> -{ 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; -} -</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 language="bash"> -{ 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> |