Master hub for the openSUSE Tumbleweed zsh ecosystem — a hub-and-plugin architecture built for daily Tumbleweed administration.
This repository is the entry point. Each hub groups related plugins. Plugins are independent — install only what you need.
Deployed and validated on a live openSUSE Tumbleweed system.
zsh-opensuse-tumbleweed ← Master hub (this repo)
│
├── zsh-manager ← Hub Action + Maintenance (dispatcher + unified menu)
│ │
│ ├── [Action]
│ │ ├── zsh-snap-new ✅ v2.3
│ │ ├── zsh-snap-list ✅ v3.2
│ │ └── zsh-snap-rollback ✅ v1.3
│ │
│ └── [Maintenance]
│ ├── zsh-snap-compare 🔜 planned
│ ├── zsh-btrfs-scrub 🔜 planned
│ ├── zsh-btrfs-balance 🔜 planned
│ └── zsh-btrfs-health 🔜 planned
│
├── zsh-tools ← Hub system tools (planned)
│ ├── Zypper-Package-History-Logs ✅ v5.1
│ ├── zsh-virsh 🔜 planned
│ ├── zsh-unbound 🔜 planned
│ ├── zsh-squid 🔜 planned
│ └── zsh-caddy 🔜 planned
│
└── zsh-monitoring 🔜 community repo
Prometheus + Grafana + Loki + Alloy
zsh-manager — unified dispatcher with short aliases and interactive menu (migration in progress: ex zsh-snap-man).
| Plugin | Version | Description | Command |
|---|---|---|---|
| zsh-snap-new | v2.3 | Guided interactive Btrfs snapshot creation — 7-step menu, 14 scenarios, disk usage check, dry-run | snap-new · snap-n |
| zsh-snap-list | v3.2 | Colorized snapper listing — interactive menu, multi-config, filters, summary line | snap-list · snap-l |
| zsh-snap-rollback | v1.3 | Safe guided rollback — target summary, [y/N] confirmation, dry-run mode, reboot reminder | snap-rollback · snap-r |
| Plugin | Description | Status |
|---|---|---|
| zsh-snap-compare | Diff between two snapshots — status + diff, interactive ID selection | |
| zsh-btrfs-scrub | Scrub with live status display — start, status, cancel | |
| zsh-btrfs-balance | Balance with configurable thresholds — start, status, cancel, pause, resume | |
| zsh-btrfs-health | Full health report — usage, qgroups, scrub status, snapshots |
| Plugin | Version | Description | Commands |
|---|---|---|---|
| Zypper-Package-History-Logs | v5.1 | Audit /var/log/zypp/history — color output, filters, package search, statistics |
zypper-history · zyp-dup |
| Plugin | Description |
|---|---|
| zsh-virsh | libvirt / KVM VM management shortcuts |
| zsh-unbound | Unbound DNS management shortcuts |
| zsh-squid | Squid proxy administration helpers |
| zsh-caddy | Caddy web server helpers |
Planned community repository for monitoring stack integration: Prometheus · Grafana · Loki · Alloy
Open to external contributions.
A configuration file to source from ~/.zshrc. Contains zsh settings specific to openSUSE Tumbleweed:
| Setting | Value | Reason |
|---|---|---|
HISTSIZE |
500 |
Keep last 500 commands in memory per session |
SAVEHIST |
500 |
Persist last 500 commands to ~/.zsh_history |
git clone https://github.com/crisis1er/zsh-opensuse-tumbleweed \
${ZSH_CUSTOM:-/home/crisis/.oh-my-zsh/custom}/zsh-opensuse-tumbleweedAdd to ~/.zshrc after source $ZSH/oh-my-zsh.sh:
source "${ZSH_CUSTOM:-/home/crisis/.oh-my-zsh/custom}/zsh-opensuse-tumbleweed/tumbleweed.zsh"# zsh-snap-new — guided snapshot creation
git clone https://github.com/crisis1er/zsh-snap-new \
${ZSH_CUSTOM:-/home/crisis/.oh-my-zsh/custom}/plugins/snap-new
# zsh-snap-list — colorized snapper listing
git clone https://github.com/crisis1er/zsh-snap-list \
${ZSH_CUSTOM:-/home/crisis/.oh-my-zsh/custom}/plugins/snap-list
# zsh-snap-rollback — safe guided rollback
git clone https://github.com/crisis1er/zsh-snap-rollback \
${ZSH_CUSTOM:-/home/crisis/.oh-my-zsh/custom}/plugins/snap-rollbackAdd chosen plugins to plugins=() in ~/.zshrc:
plugins=(... snap-new snap-list snap-rollback)# zypper-history — audit tool
sudo curl -o /usr/local/bin/zypper-history \
https://raw.githubusercontent.com/crisis1er/Zypper-Package-History-Logs/main/zypper-history
sudo chmod +x /usr/local/bin/zypper-history
# zyp-dup — safe zypper dup wrapper
sudo curl -o /usr/local/bin/zyp-dup \
https://raw.githubusercontent.com/crisis1er/Zypper-Package-History-Logs/main/zyp-dup
sudo chmod +x /usr/local/bin/zyp-dupReload:
source /home/crisis/.zshrc| Alias | Command | Description |
|---|---|---|
snap-m |
snap-man |
Dispatcher — unified entry point |
snap-n |
snap-new |
Create a snapshot |
snap-l |
snap-list |
List snapshots |
snap-r |
snap-rollback |
Rollback to a snapshot |
snap-c |
snap-compare |
Compare two snapshots |
snap-d |
snap-del |
Delete a snapshot |
- Hub-and-plugin architecture (DEC-018) — hubs dispatch to independent plugins; each hub has a man page, each plugin has man + help
- One repo per plugin — independent install, independent contribution, independent versioning
- This hub as master entry point — one place to discover the full ecosystem
- Incremental — use only what you need; plugins do not depend on each other
- Validated on a live system — every tool is tested on a real openSUSE Tumbleweed rolling release
- GPL-3.0 — all repositories in this ecosystem are licensed under GPL-3.0