{"id":15211097,"url":"https://github.com/nisavid/zsh-config","last_synced_at":"2026-02-04T21:36:51.969Z","repository":{"id":229650729,"uuid":"777263272","full_name":"nisavid/zsh-config","owner":"nisavid","description":"Zsh configuration","archived":false,"fork":false,"pushed_at":"2025-02-24T00:17:27.000Z","size":145,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-20T14:40:24.951Z","etag":null,"topics":["catppuccin","zsh","zsh-config","zshell","zshrc"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nisavid.png","metadata":{"files":{"readme":"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,"zenodo":null}},"created_at":"2024-03-25T14:19:07.000Z","updated_at":"2025-02-24T00:17:31.000Z","dependencies_parsed_at":"2024-03-26T18:27:10.192Z","dependency_job_id":"c69dfe95-6a28-43a9-8c43-30076500b81e","html_url":"https://github.com/nisavid/zsh-config","commit_stats":{"total_commits":36,"total_committers":1,"mean_commits":36.0,"dds":0.0,"last_synced_commit":"3b62f263d537100b84939d97ebe6c715099d7b72"},"previous_names":["nisavid/zsh-config"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nisavid/zsh-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisavid%2Fzsh-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisavid%2Fzsh-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisavid%2Fzsh-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisavid%2Fzsh-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nisavid","download_url":"https://codeload.github.com/nisavid/zsh-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisavid%2Fzsh-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29096466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T21:05:08.033Z","status":"ssl_error","status_checked_at":"2026-02-04T21:04:53.031Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["catppuccin","zsh","zsh-config","zshell","zshrc"],"created_at":"2024-09-28T08:04:35.931Z","updated_at":"2026-02-04T21:36:51.949Z","avatar_url":"https://github.com/nisavid.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖳 Zsh Configuration\n\nMy [**Zsh**] configuration. Fast, convenient, and pretty.\n\n[**Zsh**]: https://zsh.sourceforge.io\n\n\u003c!--toc:start--\u003e\n\n\u003c!--\nXXX: This TOC targets \u003ca id=\"readme-‥\"\u003e tags instead of section headings\nbecause GitHub's markdown renderer fails to consistently include all emoji\nin the heading IDs that it generates.  For example, it gives the “☑️ Features”\nsection a heading ID of `☑️-features` (as expected), but it mysteriously elides\nthe emoji when it assigns the “🫀 Core” section a heading ID of `-core`.\nRather than referencing GitHub's heading IDs (which would break the links\nwhen this document is rendered by a well-behaved Markdown renderer),\nthis TOC links to anchor tags for each of the emoji-decorated section headings.\n\nTODO: Identify/track/report/fix that bug.\n--\u003e\n\n- [☑️ Features](#readme-features)\n  - [🫀 Core](#readme-core)\n  - [⚡️ Performance](#readme-performance)\n  - [🏪 Convenience](#readme-convenience)\n  - [🦋 Visuals](#readme-visuals)\n- [🛠️ Installation](#readme-installation)\n  - [Installation Method: Using Chezmoi](#installation-method-using-chezmoi)\n  - [Installation Method: Manual](#installation-method-manual)\n\n\u003c!--toc:end--\u003e\n\n## ☑️ Features\n\n\u003ca id=\"readme-core\"\u003e\u003c/a\u003e\n\n### 🫀 Core\n\n- Plugin manager: [**Zi**]\n\n  This is the [better-maintained] but [less popular][compare Zi] resurrection\n  of **zdharma/zinit**, f.k.a. **zdharma/zplugin**.\n\n[**Zi**]: https://zshell.dev\n[better-maintained]: https://github.com/orgs/z-shell/discussions/138\n[compare Zi]: https://www.githubcompare.com/z-shell/zi+zdharma-continuum/zinit\n\n\u003ca id=\"readme-performance\"\u003e\u003c/a\u003e\n\n### ⚡️ Performance\n\n- [**Powerlevel10k Instant Prompt**] provides an instantly interactive prompt\n  while `zshrc` is loading.\n\n- Zi's internals and features are highly optimized for performance,\n  especially at load time.\n\n  - It compiles all plugins' Zsh scripts to Zsh word code (`[…].zwc`).\n\n  - Zi [light loading] and [turbo mode] are employed for fast and asynchronous\n    loading of plugins.\n\n  - All completion files (including those installed system-wide\n    and those generated by external tools) are managed by Zi.\n    [`zicompinit_fast`] is employed (invoked asynchronously)\n    so that `.zcompdump` is generated on [`compinit`] only once a day.\n\n- Zsh features are employed instead of alternatives that entail subprocesses,\n  subshells, I/O, and other slow operations.\n\n  For example:\n\n  - Zsh [expansions] and [arrays] are favored over forking subshells to execute\n    `head`, `tail`, `cut`, `grep`, `sed`, and the like.\n\n  - Command existence is checked/resolved via [`$commands`] (a fast\n    hash lookup) rather than forking a subshell to execute `command -v`\n    (a slow interrogation of the filesystem) or `which` (likewise, but with an\n    additional program execution).\n\n- Fetched and generated files (e.g. completions, themes) are cached\n  and only refreshed on explicit update.\n\n[**Powerlevel10k Instant Prompt**]: https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#instant-prompt\n[`$commands`]: https://zsh.sourceforge.io/Doc/Release/Zsh-Modules.html#index-commands\n[`compinit`]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#Use-of-compinit\n[`zicompinit_fast`]: https://wiki.zshell.dev/docs/guides/commands#calling-compinit-with-turbo-mode\n[arrays]: https://zsh.sourceforge.io/Doc/Release/Parameters.html#Array-Parameters\n[expansions]: https://zsh.sourceforge.io/Doc/Release/Expansion.html#Expansion\n[light loading]: https://wiki.zshell.dev/docs/getting_started/overview#plugin-and-snippet-loading\n[turbo mode]: https://wiki.zshell.dev/docs/getting_started/overview#turbo-mode-zsh--53\n\n\u003ca id=\"readme-convenience\"\u003e\u003c/a\u003e\n\n### 🏪 Convenience\n\n- Useful and sensible settings for [Zsh options] and [Zsh parameters].\n\n- Conformance to the [XDG Base Directory Specification] (as much as possible)\n  in order to provide a clean and consistent home directory layout\n\n  - For the full effect, install my\n    [XDG Base Directory `environment.d` configuration]\n    in `~/.config/environment.d/`.\n\n- Zi update (`zi-update`, alias `zup`) handles all updates,\n  including refreshing the cached instances of fetched/generated files.\n\n- Completions for all the things:\n\n  - Fancy completions configuration via [**zsh-fancy-completions**]\n\n  - System-wide completions managed by Zi via [**system-completions**]\n\n  - Additional completions via [**zsh-completions**]\n\n  - Generated completions:\n\n    - Python CLI apps via [**shtab**]\n\n    - `cog`\n\n    - `elm` via [**kraklin/elm.plugin.zsh**]\n\n    - `kdesrc-build`\n\n    - `pip`, `pipenv`, `pipx`\n\n    - `pnpm`\n\n    - `rye`\n\n- Auto-suggestions via [**zsh-autosuggestions**]\n\n- Multi-word history search via [**H-S-MW**]\n\n  This is the better-maintained but [less popular][compare H-S-MW] resurrection\n  of **zdharma/history-search-multi-word**.\n\n- Common-sense integrations:\n\n  - Set terminal title\n\n  - Sane paste behavior via [`bracketed-paste-magic`]\n\n  - Automatically detect and use [`node_modules/.bin`]\n\n- Awesome helpers:\n\n  - Help:\n\n    - `help` (alias: `?`): Get help via `run-help` or `man`\n\n    - `ghcs-shell`/`ghcs-gh`/`ghcs-git` (alias: `??`/`??gh`/`??git`):\n      Request a shell/`gh`/`git` command\n      from [**GitHub Copilot**][GitHub Copilot CLI]\n      given a natural-language description\n\n    - `sgpts`/`sgpt4s` (alias: `???`/`????`): Request a shell command from\n      GPT/GPT-4 via [**ShellGPT**] given a natural-language description\n\n  - Filesystem:\n\n    - `in-dir` (alias: `ind`): Run the given command in the given directory\n\n    - `mkcd`: Create the given directory and change into it\n\n    - `mktemp`/`mktempd`: Create a temporary file/directory with the system's\n      `mktemp` command, but use `$XDG_RUNTIME_DIR` as the default location\n\n    - `pprint-file` (alias: `pf`): Pretty-print a file\n\n    - `diff-fancy` (alias: `d`): `diff --unified` piped\n      through [`diff-so-fancy`]\n\n  - Expressiveness:\n\n    - Enabled from the community contributions bundled with Zsh:\n\n      - `throw` and `catch`\n\n      - `zargs`\n\n      - [`zmv`] and its siblings `zcp` and `zln`\n\n    - Higher-order functions via [**zsh-functional**]\n\n  - Security:\n\n    - `wrap-with-secret-from-kwallet`: Wrap a command with an environment\n      variable containing sensitive information (e.g. API key, password),\n      retrieving the value from [**KWallet**] via `kwallet-query`\n\n  - Introspection:\n\n    - `pprint-zfunc` (alias: `pfn`): Pretty-print the source code\n      of a Zsh function\n\n    - `realcmdname`: Determine the real underlying command name invoked by a\n      command (resolving aliases recursively, and ignoring various\n      command prefixes)\n\n- Global preferences:\n\n  - [vi mode]\n\n    And more, via [**evil-registers**], [**vi-motions**], and [**vi-quote**]\n\n  - Pager: [**bat**]\n\n  - `man` pager: [**Neovim**][Neovim :Man]\n\n  - Editor: [**Neovim**]\n\n  - Browser: [**Firefox**]\n\n[**Firefox**]: https://mozilla.org/firefox\n[**H-S-MW**]: https://github.com/z-shell/H-S-MW\n[**KWallet**]: https://apps.kde.org/kwalletmanager5\n[**Neovim**]: https://neovim.io\n[**ShellGPT**]: https://github.com/TheR1D/shell_gpt\n[**bat**]: https://github.com/sharkdp/bat\n[**evil-registers**]: https://github.com/zsh-vi-more/evil-registers\n[**kraklin/elm.plugin.zsh**]: https://github.com/kraklin/elm.plugin.zsh\n[**shtab**]: https://github.com/iterative/shtab\n[**system-completions**]: https://github.com/z-shell/system-completions\n[**vi-motions**]: https://github.com/zsh-vi-more/vi-motions\n[**vi-quote**]: https://github.com/zsh-vi-more/vi-quote\n[**zsh-autosuggestions**]: https://github.com/z-users/zsh-autosuggestions\n[**zsh-completions**]: https://github.com/zsh-users/zsh-completions\n[**zsh-fancy-completions**]: https://github.com/z-shell/zsh-fancy-completions\n[**zsh-functional**]: https://github.com/Tarrasch/zsh-functional\n[GitHub Copilot CLI]: https://docs.github.com/en/copilot/github-copilot-in-the-cli\n[Neovim :Man]: https://neovim.io/doc/user/filetype.html#%3AMan\n[XDG Base Directory Specification]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\n[XDG Base Directory `environment.d` configuration]: https://github.com/nisavid/dotfiles/blob/main/home/dot_config/environment.d/10-xdg.conf\n[Zsh options]: https://zsh.sourceforge.io/Doc/Release/Options.html\n[Zsh parameters]: https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters-Used-By-The-Shell\n[`bracketed-paste-magic`]: https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#Widgets\n[`diff-so-fancy`]: https://github.com/so-fancy/diff-so-fancy\n[`node_modules/.bin`]: https://docs.npmjs.com/cli/configuring-npm/folders\n[`zmv`]: https://zsh.sourceforge.io/Guide/zshguide05.html#l143\n[compare H-S-MW]: https://www.githubcompare.com/z-shell/h-s-mw+zdharma-continuum/history-search-multi-word\n[vi mode]: https://zsh.sourceforge.io/Guide/zshguide04.html#l78\n\n\u003ca id=\"readme-visuals\"\u003e\u003c/a\u003e\n\n### 🦋 Visuals\n\n- Prompt theme: [**Powerlevel10k**]\n\n- Feature-rich syntax highlighting using [**F-Sy-H**]\n\n  This is the better-maintained but [less popular][compare F-Sy-H] resurrection\n  of **zdharma/fast-syntax-highlighting**.\n\n- Auto-colorization of numerous commands' output via [**Generic Colouriser**] (`grc`)\n\n- Auto-colorization and paging of `--help` output via a global alias\n  that pipes it through [`bat --plain --language=help`]\n\n- [**Catppuccin**] themes for all the things:\n\n  - [**F-Sy-H**] via [**catppuccin/zsh-fsh**]\n\n  - [**fzf**] via [**catppuccin/fzf**]\n\n  - [**Glamour**] via [**catppuccin/glamour**]\n\n  - [**Lazygit**] via [**catppuccin/lazygit**]\n\n  - `LS_COLORS` generated with [**vivid**] using the **catppuccin-mocha** theme.\n\n  - More in [my dotfiles]\n\n[**Catppuccin**]: https://catppuccin.com\n[**F-Sy-H**]: https://github.com/z-shell/F-Sy-H\n[**Generic Colouriser**]: https://kassiopeia.juls.savba.sk/~garabik/software/grc.html\n[**Glamour**]: https://github.com/charmbracelet/glamour\n[**Lazygit**]: https://github.com/jesseduffield/lazygit\n[**Powerlevel10k**]: https://github.com/romkatv/powerlevel10k\n[**catppuccin/fzf**]: https://github.com/catppuccin/fzf\n[**catppuccin/glamour**]: https://github.com/catppuccin/glamour\n[**catppuccin/lazygit**]: https://github.com/catppuccin/lazygit\n[**catppuccin/zsh-fsh**]: https://github.com/catppuccin/zsh-fsh\n[**fzf**]: https://github.com/junegunn/fzf\n[**vivid**]: https://github.com/sharkdp/vivid\n[`bat --plain --language=help`]: https://github.com/sharkdp/bat#highlighting---help-messages\n[compare F-Sy-H]: https://www.githubcompare.com/z-shell/f-sy-h+zdharma-continuum/fast-syntax-highlighting\n\n\u003ca id=\"readme-installation\"\u003e\u003c/a\u003e\n\n## 🛠️ Installation\n\n### Installation Method: Using Chezmoi\n\nInstall [my dotfiles]. That's all!\n\nAlternatively, include this configuration in your own [**chezmoi**] repository\nusing its [corresponding chezmoi-external configuration]\nand [`~/.zshenv` symlink].\n\n[**chezmoi**]: https://chezmoi.io\n[`~/.zshenv` symlink]: https://github.com/nisavid/dotfiles/blob/main/home/symlink_dot_zshenv\n[corresponding chezmoi-external configuration]: https://github.com/nisavid/dotfiles/blob/main/home/.chezmoiexternals/zsh-config.toml\n[my dotfiles]: https://github.com/nisavid/dotfiles\n\n### Installation Method: Manual\n\n#### Clone the configuration\n\n```shell\ngit clone https://github.com/nisavid/zsh-config ~/.config/zsh\n```\n\n#### Link .zshenv\n\n```shell\nln -s ~/.config/zsh/zshenv.zsh ~/.zshenv\n```\n\n#### Start Zsh\n\n```shell\nzsh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisavid%2Fzsh-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnisavid%2Fzsh-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisavid%2Fzsh-config/lists"}