about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-10-23 16:59:33 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-10-23 20:08:21 +0200
commit29014a47fb9302e8b86d4cd6698298a50e8f3b25 (patch)
tree9697d2f00fb04958f83937007a3c2b8428931e2b
parente29b51bfb1eefe2f8d2dcac4fba8ea734115804c (diff)
downloadnixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.tar
nixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.tar.gz
nixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.tar.bz2
nixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.tar.lz
nixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.tar.xz
nixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.tar.zst
nixlib-29014a47fb9302e8b86d4cd6698298a50e8f3b25.zip
Allow options to be marked as "internal"
This means they're not for end users.  Currently they're filtered from
the manual, but we could include them in a separate section.
-rw-r--r--lib/options.nix1
-rw-r--r--nixos/doc/manual/default.nix5
-rw-r--r--nixos/modules/config/system-path.nix1
-rw-r--r--nixos/modules/misc/assertions.nix1
-rw-r--r--nixos/modules/misc/version.nix3
-rw-r--r--nixos/modules/system/activation/top-level.nix5
6 files changed, 13 insertions, 3 deletions
diff --git a/lib/options.nix b/lib/options.nix
index a91115287e45..20ffc61c1ad1 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -275,6 +275,7 @@ rec {
             description = opt.description or (throw "Option ${opt.name}: No description.");
             declarations = map (x: toString x.source) opt.declarations;
             #definitions = map (x: toString x.source) opt.definitions;
+            internal = opt.internal or false;
           }
           // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
           // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index c887e7f03171..02732949b7c4 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -7,8 +7,9 @@ with pkgs.lib;
 
 let
 
-  optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext
-    (builtins.toXML (optionAttrSetToDocList options)));
+  options' = filter (x: !x.internal) (optionAttrSetToDocList options);
+
+  optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options'));
 
   optionsDocBook = pkgs.runCommand "options-db.xml" {} ''
     ${pkgs.libxslt}/bin/xsltproc \
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix
index e640592a97eb..0610ad54da34 100644
--- a/nixos/modules/config/system-path.nix
+++ b/nixos/modules/config/system-path.nix
@@ -85,6 +85,7 @@ in
     system = {
 
       path = mkOption {
+        internal = true;
         description = ''
           The packages you want in the boot environment.
         '';
diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix
index 9cd58550adc9..7ded9785bc10 100644
--- a/nixos/modules/misc/assertions.nix
+++ b/nixos/modules/misc/assertions.nix
@@ -13,6 +13,7 @@ in
   options = {
 
     assertions = mkOption {
+      internal = true;
       default = [];
       example = [ { assertion = false; message = "you can't enable this for that reason"; } ];
       merge = pkgs.lib.mergeListOption;
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 1b519d3e6eef..14437228c746 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -7,16 +7,19 @@ with pkgs.lib;
   options = {
 
     system.nixosVersion = mkOption {
+      internal = true;
       type = types.uniq types.string;
       description = "NixOS version.";
     };
 
     system.nixosVersionSuffix = mkOption {
+      internal = true;
       type = types.uniq types.string;
       description = "NixOS version suffix.";
     };
 
     system.nixosCodeName = mkOption {
+      internal = true;
       type = types.uniq types.string;
       description = "NixOS release code name.";
     };
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 32157e419856..a04914bedaf7 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -122,6 +122,7 @@ in
   options = {
 
     system.build = mkOption {
+      internal = true;
       default = {};
       description = ''
         Attribute set of derivations used to setup the system.
@@ -144,6 +145,7 @@ in
     };
 
     system.boot.loader.id = mkOption {
+      internal = true;
       default = "";
       description = ''
         Id string of the used bootloader.
@@ -151,6 +153,7 @@ in
     };
 
     system.boot.loader.kernelFile = mkOption {
+      internal = true;
       default = pkgs.stdenv.platform.kernelTarget;
       type = types.uniq types.string;
       description = ''
@@ -169,8 +172,8 @@ in
     };
 
     system.extraSystemBuilderCmds = mkOption {
-      default = "";
       internal = true;
+      default = "";
       merge = concatStringsSep "\n";
       description = ''
         This code will be added to the builder creating the system store path.