https://github.com/catvec/zshconf
A barebones zsh configuration tool
https://github.com/catvec/zshconf
Last synced: 7 months ago
JSON representation
A barebones zsh configuration tool
- Host: GitHub
- URL: https://github.com/catvec/zshconf
- Owner: catvec
- License: mit
- Created: 2016-06-05T01:06:11.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-06-14T06:53:44.000Z (almost 8 years ago)
- Last Synced: 2025-05-04T01:02:16.845Z (11 months ago)
- Language: Shell
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Project Status: Complete | Maintaining
# Zshconf
A barebones Zsh plugin loader tool.
# Table Of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Updating](#updating)
# Overview
Zshconf is a lightweight plugin loader utility. It allows you to source
individual Zsh files from Git repositories.
This gives you the ability to incorporate features other's have made into your
own Zsh profile.
# Installation
To install Zshconf clone this repository into `$HOME/.config/zshconf`:
```
git clone git@github.com:Noah-Huppert/zshconf.git ~/.config/zshconf
```
Then source the `zshconf.zsh` file in your Zsh profile:
```
# ~/.zshrc
source $HOME/.config/zshconf/zshconf.zsh
```
# Usage
Zshconf determines which files to source by reading a `zshconf` file.
By default Zshconf looks for a `zshconf` file in
`$HOME/.config/zshconf/zshconf`.
Set the `ZSHCONF_FILE` environment variable to customize this location.
The `zshconf` file follows the format:
```
... repeat ...
```
It will clone down the listed Git repository and source the files listed for
that Git repository.
## Example Zshconf File
This example `zshconf` file loads the "Sorin" theme from the
[Oh My Zsh](https://github.com/robbyrussell/oh-my-zsh.git) repository:
```
# oh my zsh
https://github.com/robbyrussell/oh-my-zsh.git
# lib
lib/git.zsh
lib/theme-and-appearance.zsh
# Theme
themes/sorin.zsh-theme
```
This will only load the files necessary to use the "Sorin" Zsh theme:
- `lib/git.zsh`
- `lib/theme-and-appearance.zsh`
- `themes/sorin.zsh-theme`
from the [Oh My Zsh](https://github.com/robbyrussell/oh-my-zsh.git) repository.
All the other unwanted files in the Oh My Zsh repository will not be included
in you Zsh profile.
## Configuration
Zshconf can be configured with the following environment variables:
- `ZSHCONF_DIR` (string): Absolute path to directory Zshconf uses for all
general work
- `ZSHCONF_REPO_DIR` (string): Absolute path to directory Zshconf uses to save
external Git repositories listed in the
`zshconf` file
- `ZSHCONF_FILE` (string): Absolute path to `zshconf` file
- `ZSHCONF_REPO_UPDATE_INTERVAL` (integer, seconds): How often Zshconf checks
for updates to external
repositories listed in
the `zshconf`
- `ZSHCONF_SELF_UPDATE_INTERVAL` (integer, seconds): How often Zshconf checks
for updates to itself
# Updating
Zshconf checks for updates every day. It pulls down updates using Git.