summaryrefslogtreecommitdiffstats
path: root/flake.nix
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2022-12-08 09:11:49 +0100
committerMinijackson <minijackson@riseup.net>2022-12-08 09:11:49 +0100
commitd488feb4b2a586071fdb28309858747549670903 (patch)
tree0144d7d0f13e090730b757822b04aa58c75d9175 /flake.nix
parent90311e2493118c53e6e4b2a8d5a786b929ae44e4 (diff)
downloadnix-module-doc-d488feb4b2a586071fdb28309858747549670903.tar.gz
nix-module-doc-d488feb4b2a586071fdb28309858747549670903.zip
treewide: fmt with alejandra
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix199
1 files changed, 114 insertions, 85 deletions
diff --git a/flake.nix b/flake.nix
index 2826989..d4ac128 100644
--- a/flake.nix
+++ b/flake.nix
@@ -3,102 +3,131 @@
3 3
4 inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05"; 4 inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05";
5 5
6 outputs = { self, nixpkgs }: 6 outputs = {
7 let pkgs = nixpkgs.legacyPackages.x86_64-linux; 7 self,
8 in 8 nixpkgs,
9 { 9 }: let
10 pkgs = nixpkgs.legacyPackages.x86_64-linux;
11 in {
12 lib.modules = {
13 doc-options-md = import ./doc-options-md.nix;
14 mdbook = import ./mdbook.nix;
15 manpage = import ./manpage.nix;
16 };
10 17
11 lib.modules = { 18 checks.x86_64-linux = let
12 doc-options-md = import ./doc-options-md.nix; 19 evalModules = modules:
13 mdbook = import ./mdbook.nix; 20 pkgs.lib.evalModules {
14 manpage = import ./manpage.nix; 21 modules =
22 [
23 {config._module.args = {inherit pkgs;};}
24 ]
25 ++ modules;
26 };
27 simpleModule = with pkgs.lib; {
28 options.my.simple.module.outputs = mkOption {
29 type = with types; attrsOf package;
30 default = {};
31 description = ''
32 Output products of my simple module system.
33 '';
34 };
35 };
36 params = {
37 outputAttrPath = ["my" "simple" "module" "outputs"];
38 optionsAttrPath = ["my" "simple" "module" "doc"];
39 optionsInternal = false;
15 }; 40 };
16 41
17 checks.x86_64-linux = 42 simple-manpage = {
18 let 43 name = "my simple module system";
19 evalModules = modules: pkgs.lib.evalModules { 44 shortDescription = "A sample module system";
20 modules = [ 45 };
21 ({ config._module.args = { inherit pkgs; }; })
22 ] ++ modules;
23 };
24 simpleModule = with pkgs.lib; {
25 options.my.simple.module.outputs = mkOption {
26 type = with types; attrsOf package;
27 default = { };
28 description = ''
29 Output products of my simple module system.
30 '';
31 };
32 };
33 params = {
34 outputAttrPath = [ "my" "simple" "module" "outputs" ];
35 optionsAttrPath = [ "my" "simple" "module" "doc" ];
36 optionsInternal = false;
37 };
38
39 simple-manpage = {
40 name = "my simple module system";
41 shortDescription = "A sample module system";
42 };
43
44 advanced-manpage = {
45 name = "my simple module system";
46 section = 5;
47 shortDescription = "A sample module system";
48 description = ''
49 This is a very advanced module system, for advanced people.
50 '';
51 46
52 textBefore = '' 47 advanced-manpage = {
53 # A SECTION BEFORE 48 name = "my simple module system";
49 section = 5;
50 shortDescription = "A sample module system";
51 description = ''
52 This is a very advanced module system, for advanced people.
53 '';
54 54
55 This is a section before the options. 55 textBefore = ''
56 ''; 56 # A SECTION BEFORE
57 57
58 textAfter = '' 58 This is a section before the options.
59 # A SECTION AFTER 59 '';
60 60
61 This is a section after the options. 61 textAfter = ''
62 ''; 62 # A SECTION AFTER
63 };
64 in
65 {
66 simple-doc-options-md = (evalModules [
67 simpleModule
68 (self.lib.modules.doc-options-md params)
69 ]).config.my.simple.module.outputs.doc-options-md;
70 63
71 simple-manpage = (evalModules [ 64 This is a section after the options.
72 simpleModule 65 '';
73 (self.lib.modules.doc-options-md params) 66 };
74 (self.lib.modules.manpage params) 67 in {
75 { 68 simple-doc-options-md =
76 my.simple.module.doc.manpage = simple-manpage; 69 (evalModules [
77 } 70 simpleModule
78 ]).config.my.simple.module.outputs.manpage; 71 (self.lib.modules.doc-options-md params)
72 ])
73 .config
74 .my
75 .simple
76 .module
77 .outputs
78 .doc-options-md;
79 79
80 advanced-manpage = (evalModules [ 80 simple-manpage =
81 simpleModule 81 (evalModules [
82 (self.lib.modules.doc-options-md params) 82 simpleModule
83 (self.lib.modules.manpage params) 83 (self.lib.modules.doc-options-md params)
84 { 84 (self.lib.modules.manpage params)
85 my.simple.module.doc.manpage = advanced-manpage; 85 {
86 } 86 my.simple.module.doc.manpage = simple-manpage;
87 ]).config.my.simple.module.outputs.manpage; 87 }
88 ])
89 .config
90 .my
91 .simple
92 .module
93 .outputs
94 .manpage;
88 95
89 simple-mdbook = (evalModules [ 96 advanced-manpage =
90 simpleModule 97 (evalModules [
91 (self.lib.modules.doc-options-md params) 98 simpleModule
92 (self.lib.modules.mdbook params) 99 (self.lib.modules.doc-options-md params)
93 { 100 (self.lib.modules.manpage params)
94 my.simple.module.doc.mdbook.src = ./checks/simple-mdbook; 101 {
95 } 102 my.simple.module.doc.manpage = advanced-manpage;
96 ]).config.my.simple.module.outputs.mdbook; 103 }
104 ])
105 .config
106 .my
107 .simple
108 .module
109 .outputs
110 .manpage;
97 111
98 }; 112 simple-mdbook =
113 (evalModules [
114 simpleModule
115 (self.lib.modules.doc-options-md params)
116 (self.lib.modules.mdbook params)
117 {
118 my.simple.module.doc.mdbook.src = ./checks/simple-mdbook;
119 }
120 ])
121 .config
122 .my
123 .simple
124 .module
125 .outputs
126 .mdbook;
127 };
99 128
100 devShell.x86_64-linux = pkgs.mkShell { 129 devShell.x86_64-linux = pkgs.mkShell {
101 nativeBuildInputs = with pkgs; [ mdbook pandoc ]; 130 nativeBuildInputs = with pkgs; [mdbook pandoc];
102 };
103 }; 131 };
132 };
104} 133}