{"id":18654488,"url":"https://github.com/z-shell/zpmod","last_synced_at":"2026-03-14T16:51:49.198Z","repository":{"id":41843394,"uuid":"478951398","full_name":"z-shell/zpmod","owner":"z-shell","description":"⚙️ Zsh module transparently and automatically compiles sourced scripts","archived":false,"fork":false,"pushed_at":"2024-10-07T21:35:49.000Z","size":1344,"stargazers_count":22,"open_issues_count":4,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T16:23:05.046Z","etag":null,"topics":["z-shell","zpmod","zsh-module"],"latest_commit_sha":null,"homepage":"https://wiki.zshell.dev/ecosystem/plugins/zsh-modules","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/z-shell.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-07T11:19:27.000Z","updated_at":"2025-03-14T17:38:29.000Z","dependencies_parsed_at":"2023-02-17T05:45:47.029Z","dependency_job_id":"5895f347-1dfc-4772-b8f7-3460cfb1b53a","html_url":"https://github.com/z-shell/zpmod","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z-shell%2Fzpmod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z-shell%2Fzpmod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z-shell%2Fzpmod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/z-shell%2Fzpmod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/z-shell","download_url":"https://codeload.github.com/z-shell/zpmod/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248449724,"owners_count":21105551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["z-shell","zpmod","zsh-module"],"created_at":"2024-11-07T07:15:34.707Z","updated_at":"2026-03-14T16:51:49.190Z","avatar_url":"https://github.com/z-shell.png","language":"C","readme":"# ZPMOD\n\n\u003cdiv align=\"center\"\u003e\n\n[![🍎 Build (MacOS)](https://github.com/z-shell/zpmod/actions/workflows/test-macos.yml/badge.svg)](https://github.com/z-shell/zpmod/actions/workflows/test-macos.yml)\n[![🐧 Build (Linux)](https://github.com/z-shell/zpmod/actions/workflows/test-linux.yml/badge.svg)](https://github.com/z-shell/zpmod/actions/workflows/test-linux.yml)\n\n\u003c/div\u003e\u003chr /\u003e\n\nThe module is a binary Zsh module (think about `zmodload` Zsh command, it's that topic) which transparently and automatically **compiles sourced scripts**. Many plugin managers do not offer compilation of plugins, the module is a solution to this. Even if a plugin manager does compile plugin's main script (like Zi does).\n\n## Installation\n\n### Without [Zi](https://github.com/z-shell/zi)\n\n#### Quick Install (Recommended)\n\nInstall just the **standalone** binary which can be used with any other plugin manager.\n\n\u003e **Note**\n\u003e This script can be used with most plugin managers and [Zi](https://github.com/z-shell/zi) is not required.\n\n```sh\nsh \u003c(curl -fsSL https://raw.githubusercontent.com/z-shell/zpmod/main/Scripts/install.sh)\n```\n\nThis script will display what to add to `~/.zshrc` (2 lines) and show usage instructions.\n\n#### Manual Install with Advanced Options\n\nYou can also clone the repository and use the included build.sh script with various configuration options:\n\n```sh\ngit clone https://github.com/z-shell/zpmod.git\ncd zpmod\n./build.sh [OPTIONS]\n```\n\nThe build script supports these options:\n\n| Option                         | Description                                                       |\n| ------------------------------ | ----------------------------------------------------------------- |\n| `--target=DIR`, `--target DIR` | Install to a specific directory                                   |\n| `--clean`                      | Run `make distclean` instead of `make clean`                      |\n| `--quiet`, `-q`                | Suppress non-essential output                                     |\n| `--verbose`, `-v`              | Show more detailed build information                              |\n| `--no-git`                     | Skip git clone/pull operations                                    |\n| `--force`, `-f`                | Force rebuild even if Makefile exists                             |\n| `--build-only`                 | Build but don't update .zshrc                                     |\n| `--cflags=\"...\"`               | Pass custom CFLAGS to configure (default: `-g -Wall -Wextra -O3`) |\n| `--branch=NAME`                | Use specific git branch (default: main)                           |\n| `--zsh-path=PATH`              | Use specific Zsh executable                                       |\n| `--jobs=N`, `-jN`              | Set number of parallel make jobs                                  |\n| `--prefix=DIR`                 | Set installation prefix (for system installs)                     |\n| `--no-install`                 | Skip installation after building                                  |\n| `--help`, `-h`                 | Show help message                                                 |\n\n#### Examples\n\n```sh\n# Install to a custom directory\n./build.sh --target=/opt/zsh-modules/zpmod\n\n# Build with specific compiler optimizations\n./build.sh --cflags=\"-O3 -march=native\"\n\n# System installation\nsudo ./build.sh --prefix=/usr/local\n\n# Quiet installation with 8 parallel jobs\n./build.sh --quiet --jobs=8\n\n# Development build from a specific branch\n./build.sh --branch=develop --verbose\n```\n\n### With [Zi](https://github.com/z-shell/zi)\n\n\u003e **Note**\n\u003e Zi users can build the module by issuing the following command instead of running the above installation scripts.\n\n```shell\nzi module build\n```\n\nThis command will compile the module and display instructions on what to add to `~/.zshrc`.\n\n## Loading the Module\n\nAfter installation, add these lines at the top of your `~/.zshrc`:\n\n```zsh\n# Adjust the path if you installed to a custom location\nmodule_path+=( \"${HOME}/.zi/zmodules/zpmod/Src\" )\nzmodload zi/zpmod\n```\n\n## Measuring Time of Sources\n\nBesides the compilation-feature, the module also measures **duration** of each script sourcing.\nIssue `zpmod source-study` after loading the module at top of `~/.zshrc` to see a list of all sourced files with the time the\nsourcing took in milliseconds on the left.\nThis feature allows you to profile the shell startup. Also, no script can pass through that check and you will obtain a complete list of all loaded scripts,\nlike if Zshell itself was investigating this. The list can be surprising.\n\n## Debugging\n\nTo enable debug messages from the module set:\n\n```shell\ntypeset -g ZI_MOD_DEBUG=1\n```\n\n## System Requirements\n\n- Zsh version 5.8.1 or newer\n- GCC or compatible compiler\n- Make\n- Git (optional, can be skipped with `--no-git`)\n\n## Troubleshooting\n\nIf you encounter build issues:\n\n1. Use `--verbose` to see detailed build output\n2. Check the `make.log` file in the build directory\n3. Make sure your Zsh version is compatible (5.8.1+)\n4. Try with `--clean` to perform a fresh build\n5. Submit an issue with the error messages on the [GitHub repository](https://github.com/z-shell/zpmod/issues)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz-shell%2Fzpmod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fz-shell%2Fzpmod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fz-shell%2Fzpmod/lists"}