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 ]; + }; + + }; +} + + +
+
+ Options + + +
+
+
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 = {