summary refs log tree commit diff
path: root/nixos/modules/system/activation/top-level.nix
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-01-20 15:05:45 +0100
committerRobert Hensing <robert@roberthensing.nl>2022-01-24 16:16:46 +0100
commit2aa7c25808847847bc40be93b57a1e6174aeda09 (patch)
tree9f9113a0e7de56fe44ba3de733c33b5b4b848e3c /nixos/modules/system/activation/top-level.nix
parentba3e91ed43c05a4a0984a6faa948949612fd113c (diff)
downloadnixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.tar
nixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.tar.gz
nixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.tar.bz2
nixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.tar.lz
nixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.tar.xz
nixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.tar.zst
nixpkgs-2aa7c25808847847bc40be93b57a1e6174aeda09.zip
nixos: Document system.build.toplevel
Diffstat (limited to 'nixos/modules/system/activation/top-level.nix')
-rw-r--r--nixos/modules/system/activation/top-level.nix23
1 files changed, 23 insertions, 0 deletions
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index e10d668ad2c..da8ff8ef145 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -135,6 +135,16 @@ let
       pkgs.replaceDependency { inherit oldDependency newDependency drv; }
     ) baseSystemAssertWarn config.system.replaceRuntimeDependencies;
 
+  /* Workaround until https://github.com/NixOS/nixpkgs/pull/156533
+     Call can be replaced by argument when that's merged.
+  */
+  tmpFixupSubmoduleBoundary = subopts:
+    lib.mkOption {
+      type = lib.types.submoduleWith {
+        modules = [ { options = subopts; } ];
+      };
+    };
+
 in
 
 {
@@ -216,6 +226,19 @@ in
       '';
     };
 
+    system.build = tmpFixupSubmoduleBoundary {
+      toplevel = mkOption {
+        type = types.package;
+        readOnly = true;
+        description = ''
+          This option contains the store path that typically represents a NixOS system.
+
+          You can read this path in a custom deployment tool for example.
+        '';
+      };
+    };
+
+
     system.copySystemConfiguration = mkOption {
       type = types.bool;
       default = false;