diff --git a/docs/default.nix b/docs/default.nix
new file mode 100644
index 0000000..25c5b72
--- /dev/null
+++ b/docs/default.nix
@@ -0,0 +1,55 @@
+# Copyright (c) 2019-2022, see AUTHORS. Licensed under MIT License, see LICENSE.
+
+{ pkgs, home-manager, nmdSrc }:
+
+let
+ nmd = import nmdSrc { inherit pkgs; };
+
+ # Make sure the used package is scrubbed to avoid actually instantiating
+ # derivations.
+ setupModule = {
+ _module.args.pkgs = pkgs.lib.mkForce (nmd.scrubDerivations "pkgs" pkgs);
+ };
+
+ modules = import ../modules/module-list.nix {
+ inherit pkgs;
+ home-manager-path = home-manager.outPath;
+ isFlake = true;
+ };
+
+ modulesDocs = nmd.buildModulesDocs {
+ modules = modules ++ [ setupModule ];
+ moduleRootPaths = [ ../. ];
+ mkModuleUrl = path: "https://github.com/t184256/nix-on-droid/blob/master/${path}";
+ channelName = "nix-on-droid";
+ docBook.id = "nix-on-droid-options";
+ };
+
+ docs = nmd.buildDocBookDocs {
+ pathName = "nix-on-droid";
+ modulesDocs = [ modulesDocs ];
+ documentsDirectory = ./.;
+ chunkToc = ''
+
+
+
+
+
+ '';
+ };
+in
+
+{
+ inherit (docs) manPages;
+
+ optionsJson = pkgs.symlinkJoin {
+ name = "nix-on-droid-options-json";
+ paths = [
+ (modulesDocs.json.override {
+ path = "share/doc/nix-on-droid/nix-on-droid-options.json";
+ })
+ ];
+ };
+
+ manualHtml = docs.html;
+}
diff --git a/docs/man-pages.xml b/docs/man-pages.xml
new file mode 100644
index 0000000..1bcb127
--- /dev/null
+++ b/docs/man-pages.xml
@@ -0,0 +1,38 @@
+
+
+ Nix-on-Droid Reference Pages
+
+ Nix-on-Droid contributors
+
+ 2022Nix-on-Droid contributors
+
+
+
+
+ nix-on-droid-options
+ 5
+ Nix-on-Droid
+
+
+ nix-on-droid-options
+ Nix-on-Droid configuration specification
+
+
+ Description
+
+ This contains the module options available for Nix-on-Droid.
+
+
+
+ Options
+
+ You can use the following options in nix-on-droid.nix or in the
+ modules argument of lib.nixOnDroidConfiguration
+ in your flake.nix:
+
+
+
+
+
diff --git a/docs/manual.xml b/docs/manual.xml
new file mode 100644
index 0000000..767b530
--- /dev/null
+++ b/docs/manual.xml
@@ -0,0 +1,59 @@
+
+
+
+ Nix-on-Droid manual
+
+
+ Preface
+
+ Some basic documentation of Nix-on-Droid.
+
+
+ If you encounter problems or bugs then please report them on the
+ issue tracker.
+
+
+
+
+ Nix-on-Droid configuration options
+
+ Usage
+
+
+ To use these options, edit the config file in
+ ~/.config/nixpkgs/nix-on-droid.nix or in case of a flake setup,
+ set the modules value in the nixOnDroidConfiguration
+ call:
+
+{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05";
+
+ nix-on-droid = {
+ url = "github:t184256/nix-on-droid/release-22.05";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ };
+
+ outputs = { self, nixpkgs, nix-on-droid }: {
+
+ nixOnDroidConfigurations.deviceName = nix-on-droid.lib.nixOnDroidConfiguration {
+ modules = [ ./nix-on-droid.nix ];
+ };
+
+ };
+}
+
+
+
+
+
+
diff --git a/flake.lock b/flake.lock
index 5f6ce30..1519732 100644
--- a/flake.lock
+++ b/flake.lock
@@ -90,6 +90,22 @@
"type": "gitlab"
}
},
+ "nmd_2": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1666190571,
+ "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
+ "owner": "rycee",
+ "repo": "nmd",
+ "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "rycee",
+ "repo": "nmd",
+ "type": "gitlab"
+ }
+ },
"nmt": {
"flake": false,
"locked": {
@@ -111,7 +127,8 @@
"home-manager": "home-manager",
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": "nixpkgs",
- "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap"
+ "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
+ "nmd": "nmd_2"
}
},
"utils": {
diff --git a/flake.nix b/flake.nix
index 4c5b34a..506af16 100644
--- a/flake.nix
+++ b/flake.nix
@@ -18,9 +18,14 @@
url = "github:Gerschtli/nix-formatter-pack";
inputs.nixpkgs.follows = "nixpkgs";
};
+
+ nmd = {
+ url = "gitlab:rycee/nmd";
+ flake = false;
+ };
};
- outputs = { self, nixpkgs, nixpkgs-for-bootstrap, home-manager, nix-formatter-pack }:
+ outputs = { self, nixpkgs, nixpkgs-for-bootstrap, home-manager, nix-formatter-pack, nmd }:
let
forEachSystem = nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ];
@@ -106,11 +111,19 @@
overlays.default = overlay;
packages = forEachSystem (system:
- (import ./pkgs {
- inherit system;
- nixpkgs = nixpkgs-for-bootstrap;
- }).customPkgs
- // {
+ let
+ nixOnDroidPkgs = import ./pkgs {
+ inherit system;
+ nixpkgs = nixpkgs-for-bootstrap;
+ };
+
+ docs = import ./docs {
+ inherit home-manager;
+ pkgs = nixpkgs.legacyPackages.${system};
+ nmdSrc = nmd;
+ };
+ in
+ {
fakedroid = import ./tests {
inherit system;
nixpkgs = nixpkgs-for-bootstrap;
@@ -118,6 +131,8 @@
nix-on-droid = nixpkgs.legacyPackages.${system}.callPackage ./nix-on-droid { };
}
+ // nixOnDroidPkgs.customPkgs
+ // docs
);
templates = {