diff options
author | Minijackson <minijackson@riseup.net> | 2022-12-08 09:11:49 +0100 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2022-12-08 09:11:49 +0100 |
commit | d488feb4b2a586071fdb28309858747549670903 (patch) | |
tree | 0144d7d0f13e090730b757822b04aa58c75d9175 /flake.nix | |
parent | 90311e2493118c53e6e4b2a8d5a786b929ae44e4 (diff) | |
download | nix-module-doc-d488feb4b2a586071fdb28309858747549670903.tar.gz nix-module-doc-d488feb4b2a586071fdb28309858747549670903.zip |
treewide: fmt with alejandra
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 199 |
1 files changed, 114 insertions, 85 deletions
@@ -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 | } |