Update modules-options-doc for system modules
This commit is contained in:
@ -5,23 +5,23 @@
|
|||||||
mylib,
|
mylib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
# create a module that only contains the options
|
# create a module that only contains the options, type can be home or system
|
||||||
toModule = name: {options.modules.${name} = import ../../home/modules/${name}/options.nix {inherit lib mylib;};};
|
toModule = type: name: {options.modules.${name} = import ../../${type}/modules/${name}/options.nix {inherit lib mylib;};};
|
||||||
|
|
||||||
# evaluate a single module
|
# evaluate a single module
|
||||||
evalModule = name: (lib.evalModules {modules = [(toModule name)];});
|
evalModule = type: name: (lib.evalModules {modules = [(toModule type name)];});
|
||||||
|
|
||||||
# generate a single module doc
|
# generate a single module doc
|
||||||
optionsDoc = name: pkgs.nixosOptionsDoc {options = (evalModule name).options;};
|
optionsDoc = type: name: pkgs.nixosOptionsDoc {options = (evalModule type name).options;};
|
||||||
|
|
||||||
# copy the markdown for a single generated optionsDoc
|
# copy the markdown for a single generated optionsDoc
|
||||||
optionsMD = name:
|
optionsMD = type: name:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
src = ./.;
|
src = ./.;
|
||||||
name = "options-doc-${name}";
|
name = "options-doc-${name}";
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
cat ${(optionsDoc name).optionsCommonMark} >> $out/${name}.md
|
cat ${(optionsDoc type name).optionsCommonMark} >> $out/${name}.md
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -36,32 +36,37 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
names:
|
home-modules: system-modules:
|
||||||
pkgs.symlinkJoin {
|
pkgs.symlinkJoin {
|
||||||
name = "modules-options-doc-md";
|
name = "modules-options-doc-md";
|
||||||
paths = (map optionsMD names) ++ [index];
|
paths = (map (optionsMD "home") home-modules) ++ (map (optionsMD "system") system-modules) ++ [index];
|
||||||
};
|
};
|
||||||
|
|
||||||
# generate the actual package (calls all of the above)
|
# generate the actual package (calls all of the above)
|
||||||
modules = [
|
home-modules = [
|
||||||
"audio"
|
"audio"
|
||||||
|
"chromium"
|
||||||
"emacs"
|
"emacs"
|
||||||
"email"
|
"email"
|
||||||
"firefox"
|
"firefox"
|
||||||
"fish"
|
"fish"
|
||||||
"flatpak"
|
"flatpak"
|
||||||
"gaming"
|
"gaming"
|
||||||
"gnome"
|
"helix"
|
||||||
"hyprland"
|
"hyprland"
|
||||||
"kitty"
|
"kitty"
|
||||||
"misc"
|
"misc"
|
||||||
"neovim"
|
"neovim"
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
"nzbget"
|
"nnn"
|
||||||
"plasma"
|
|
||||||
"ranger"
|
"ranger"
|
||||||
|
"vscode"
|
||||||
];
|
];
|
||||||
docs = allOptionsMDs modules;
|
system-modules = [
|
||||||
|
"containers"
|
||||||
|
"systemd-networkd"
|
||||||
|
];
|
||||||
|
docs = allOptionsMDs home-modules system-modules;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
Reference in New Issue
Block a user