Unverified Commit 3f63b0cf authored by Robert Hensing's avatar Robert Hensing Committed by GitHub
Browse files

nixos/documentation/modular-services: init (#430876)

parents 3b5e1ef5 9ed72a85
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
/**
  Renders documentation for modular services.
  For inclusion into documentation.nixos.extraModules.
*/
{ lib, pkgs, ... }:
let
  /**
    Causes a modular service's docs to be rendered.
    This is an intermediate solution until we have "native" service docs in some nicer form.
  */
  fakeSubmodule =
    module:
    lib.mkOption {
      type = lib.types.submoduleWith {
        modules = [ module ];
      };
      description = "This is a [modular service](https://nixos.org/manual/nixos/unstable/#modular-services), which can be imported into a NixOS configuration using the [`system.services`](https://search.nixos.org/options?channel=unstable&show=system.services&query=modular+service) option.";
    };

  modularServicesModule = {
    _file = "${__curPos.file}:${toString __curPos.line}";
    options = {
      "<imports = [ pkgs.ghostunnel.services.default ]>" = fakeSubmodule pkgs.ghostunnel.services.default;
    };
  };
in
{
  documentation.nixos.extraModules = [
    modularServicesModule
  ];
}
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@
  ./misc/assertions.nix
  ./misc/crashdump.nix
  ./misc/documentation.nix
  ./misc/documentation/modular-services.nix
  ./misc/extra-arguments.nix
  ./misc/ids.nix
  ./misc/label.nix