summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAljaž Mur Eržen <aljaz@erzen.si>2025-11-09 14:23:21 +0100
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2026-01-18 00:04:16 +0000
commitacfecd6c5ac72b4be1c24e61ccd4c2b09eaf5790 (patch)
tree8b208013af37904690580f5ecf1c6de9c6a2ebff
parente95c9742a0018fe64b80010da75143651d06805f (diff)
zensical: init at 0.0.15
[Zensical][1] is a static site generator for documentation, replacing Material for MkDocs. This PR adds a package for its CLI, written in Rust and Python. [1]: https://github.com/zensical/zensical Co-authored-by: Acid Bong <acidbong@tilde.club> Co-authored-by: Yiyu Zhou <yiyuzhou19@gmail.com> (cherry picked from commit c254e73904c090bf54d5c642e8ad15fdd88b5e55)
-rw-r--r--pkgs/by-name/ze/zensical/package.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/by-name/ze/zensical/package.nix b/pkgs/by-name/ze/zensical/package.nix
new file mode 100644
index 000000000000..b8e890f3115b
--- /dev/null
+++ b/pkgs/by-name/ze/zensical/package.nix
@@ -0,0 +1,59 @@
+{
+ lib,
+ fetchPypi,
+ rustPlatform,
+ python3Packages,
+ versionCheckHook,
+}:
+
+python3Packages.buildPythonApplication rec {
+ pname = "zensical";
+ version = "0.0.15";
+ pyproject = true;
+
+ # We fetch from PyPi, because GitHub repo does not contain all sources.
+ # The publish process also copies in assets from zensical/ui.
+ # We could combine sources, but then nix-update won't work.
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-syAMkbMDcGccULi0qkHCDlX/KBS5AD7iPJtvkjoMGb4=";
+ };
+
+ cargoDeps = rustPlatform.fetchCargoVendor {
+ inherit pname version src;
+ hash = "sha256-Sg4gl23aK6yPZ3Hdi+IzTGnx8wEAkSL0SrKGVdMRJ2s=";
+ };
+
+ nativeBuildInputs = with rustPlatform; [
+ maturinBuildHook
+ cargoSetupHook
+ ];
+
+ dependencies = with python3Packages; [
+ click
+ deepmerge
+ markdown
+ pygments
+ pymdown-extensions
+ pyyaml
+ ];
+
+ nativeCheckInputs = [ versionCheckHook ];
+ versionCheckProgramArg = "--version";
+
+ meta = {
+ description = "Static site generator for documentation";
+ longDescription = ''
+ Zensical is a modern static site generator designed to simplify
+ building and maintaining project documentation. It's built by
+ the creators of Material for MkDocs and shares the same core
+ design principles and philosophy – batteries included, easy to
+ use, with powerful customization options.
+ '';
+ homepage = "https://zensical.org";
+ changelog = "https://github.com/zensical/zensical/releases/tag/${version}";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ aljazerzen ];
+ mainProgram = "zensical";
+ };
+}