Generate documentation for my modules
This commit is contained in:
@ -3,10 +3,11 @@
|
||||
pkgs,
|
||||
}: {
|
||||
# vital-synth = pkgs.callPackage ./vital-synth {}; # Kept as an example, don't know if I will fix this or keep using distrho
|
||||
firefox-gnome-theme = pkgs.callPackage ./firefox-gnome-theme {src = inputs.firefox-gnome-theme;};
|
||||
adwaita-for-steam = pkgs.callPackage ./adwaita-for-steam {src = inputs.adwaita-for-steam;};
|
||||
dconf-editor-wrapped = pkgs.callPackage ./dconf-editor-wrapped {};
|
||||
dell-b1160w = pkgs.callPackage ./dell-b1160w {};
|
||||
xdg-desktop-portal-termfilechooser = pkgs.callPackage ./xdg-desktop-portal-termfilechooser {};
|
||||
firefox-gnome-theme = pkgs.callPackage ./firefox-gnome-theme {src = inputs.firefox-gnome-theme;};
|
||||
modules-options-doc = pkgs.callPackage ./modules-options-doc {};
|
||||
spotdl-4_1_6 = pkgs.callPackage ./spotdl-4_1_6 {};
|
||||
xdg-desktop-portal-termfilechooser = pkgs.callPackage ./xdg-desktop-portal-termfilechooser {};
|
||||
}
|
||||
|
63
derivations/modules-options-doc/default.nix
Normal file
63
derivations/modules-options-doc/default.nix
Normal file
@ -0,0 +1,63 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
# evaluate our options
|
||||
eval = lib.evalModules {
|
||||
modules = [
|
||||
../../home/modules/audio/options.nix
|
||||
../../home/modules/emacs/options.nix
|
||||
../../home/modules/email/options.nix
|
||||
../../home/modules/firefox/options.nix
|
||||
../../home/modules/fish/options.nix
|
||||
../../home/modules/flatpak/options.nix
|
||||
../../home/modules/gaming/options.nix
|
||||
../../home/modules/gnome/options.nix
|
||||
../../home/modules/hyprland/options.nix
|
||||
../../home/modules/kitty/options.nix
|
||||
../../home/modules/misc/options.nix
|
||||
../../home/modules/neovim/options.nix
|
||||
../../home/modules/nextcloud/options.nix
|
||||
../../home/modules/plasma/options.nix
|
||||
../../home/modules/ranger/options.nix
|
||||
];
|
||||
};
|
||||
|
||||
# generate our docs
|
||||
optionsDoc = pkgs.nixosOptionsDoc {
|
||||
inherit (eval) options;
|
||||
};
|
||||
|
||||
# create a derivation for capturing the markdown output
|
||||
optionsDocMD = pkgs.runCommand "options-doc.md" {} ''
|
||||
cat ${optionsDoc.optionsCommonMark} >> $out
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
src = ./.;
|
||||
name = "modules-options-doc";
|
||||
|
||||
# depend on our options doc derivation
|
||||
buildInput = [optionsDocMD];
|
||||
|
||||
# mkdocs dependencies
|
||||
nativeBuildInputs = with pkgs; [
|
||||
mkdocs
|
||||
python310Packages.mkdocs-material
|
||||
python310Packages.pygments
|
||||
];
|
||||
|
||||
# symlink our generated docs into the correct folder before generating
|
||||
buildPhase = ''
|
||||
ln -s ${optionsDocMD} "./docs/nixos-options.md"
|
||||
# generate the site
|
||||
mkdocs build
|
||||
'';
|
||||
|
||||
# copy the resulting output to the derivation's $out directory
|
||||
installPhase = ''
|
||||
mv site $out
|
||||
'';
|
||||
}
|
@ -413,8 +413,13 @@ rec {
|
||||
|
||||
# Use NixCommunity binary cache
|
||||
cachix
|
||||
|
||||
# Generate documentation
|
||||
modules-options-doc
|
||||
];
|
||||
|
||||
home.file.".options-doc".source = "${pkgs.modules-options-doc}";
|
||||
|
||||
# Packages with extra options managed by HomeManager natively
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
Reference in New Issue
Block a user