shell.nix
这个shell.nix用于创建编译我的nix_config仓库的
GitHub Pages的环境。
GitHub Pages的构建主要由markcode
和mdbook
这两个工具支持。
markcode
是我为了方便在源文件里内嵌文档,写的一个小工具。 它能将源文件中带有特殊标记的注释抽取出,成为markdown文件。 nix_config仓库的几乎所有文档都内嵌在.nix文件中, 并都是通过markcode
从.nix文件抽取出来。mdbook
是一个非常纯粹且好用的静态网页生成框架,负责将markdown转换成网页。 因为第一次阅读nix官方文档时就喜欢上了这个文档框架, 所以我也采用的mdbook
作为我的nix_config的文档框架。
let
name = "nix_config";
pkgs = import <nixpkgs> {};
markcode = pkgs.callPackage (
pkgs.fetchFromGitHub {
owner = "xieby1";
repo = "markcode";
rev = "1c414aca28db7f2727f6da118f4e914743780ad0";
hash = "sha256-B5kmpAIyUihlBqk7oNAdqBmdfCajCmleKBTgLyy0NqU=";
}
) {};
in pkgs.mkShell {
inherit name;
buildInputs = with pkgs; [
mdbook
markcode
];
}