65 lines
1.6 KiB
Nix
65 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
runCommand,
|
|
nixosOptionsDoc,
|
|
inputs,
|
|
...
|
|
}: let
|
|
# Make sure the used package is scrubbed to avoid actually
|
|
# instantiating derivations.
|
|
# evaluate our options
|
|
evalHome = lib.evalModules {
|
|
# TODO: understand why pkgs needs to be passed here
|
|
specialArgs = {inherit pkgs;};
|
|
modules = [
|
|
{
|
|
# disabled checking that all option definitions have matching declarations
|
|
config._module.check = false;
|
|
}
|
|
inputs.home-manager.nixosModules.default
|
|
./home-manager/fonts
|
|
./home-manager/foot
|
|
./home-manager/fzf
|
|
./home-manager/git
|
|
./home-manager/gruvboxTheme
|
|
./home-manager/helix
|
|
./home-manager/homeManagerScripts
|
|
./home-manager/jiten
|
|
./home-manager/joshuto
|
|
./home-manager/kakoune
|
|
./home-manager/ssh
|
|
./home-manager/terminalTools
|
|
./home-manager/userDirs
|
|
./home-manager/zathura
|
|
./home-manager/zsh
|
|
];
|
|
};
|
|
# generate our docs
|
|
optionsDocHome = nixosOptionsDoc {
|
|
inherit (evalHome) options;
|
|
};
|
|
|
|
# Same for nixos
|
|
evalNixos = lib.evalModules {
|
|
specialArgs = {inherit pkgs;};
|
|
modules = [
|
|
{
|
|
config._module.check = false;
|
|
}
|
|
inputs.home-manager.nixosModules.default
|
|
./nixos/servarr
|
|
./nixos/nixosScripts
|
|
];
|
|
};
|
|
optionsDocNixos = nixosOptionsDoc {
|
|
inherit (evalNixos) options;
|
|
};
|
|
in
|
|
# create a derivation for capturing the markdown output
|
|
runCommand "options-doc.md" {} ''
|
|
mkdir -p $out
|
|
cat ${optionsDocHome.optionsCommonMark} | tail -n +210 >> $out/home.md
|
|
cat ${optionsDocNixos.optionsCommonMark} | tail -n +210 >> $out/nixos.md
|
|
''
|