Upload files to "/"
This commit is contained in:
160
README.md
Normal file
160
README.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# StianNOR-ZSHkit 🚀
|
||||
|
||||
> A clean, powerful Zsh setup for Linux — featuring Powerlevel10k, Oh My Zsh, Hack Nerd Font, colorls, fastfetch, and a full-featured update dashboard with health checks, tool suggestions and interactive install mode.
|
||||
|
||||
> [!TIP]
|
||||
> Having issues? Please open an issue: [https://github.com/StianNOR/StianNOR-ZSHkit/issues](https://github.com/StianNOR/StianNOR-ZSHkit/issues)
|
||||
> Join the community on Discord: [https://discord.gg/eHEHCzGCAE](https://discord.gg/eHEHCzGCAE)
|
||||
|
||||
---
|
||||
|
||||
## What's Included
|
||||
|
||||
- **Zsh** with Oh My Zsh and Powerlevel10k prompt
|
||||
- **Hack Nerd Font** installed system-wide with automatic terminal/DE configuration
|
||||
- **colorls** for beautiful directory listings
|
||||
- **fastfetch** for a system info splash on terminal open
|
||||
- **zsh-autosuggestions**, **zsh-syntax-highlighting**, **zsh-completions** plugins
|
||||
- **Update Dashboard** (`up.sh`) — a full system update + health check tool with interactive tool browser
|
||||
- **ZSHrc Merge Script** (`update_zshrc.sh`) — safely merges new features into your existing `~/.zshrc` without overwriting personal config
|
||||
|
||||
---
|
||||
|
||||
## Supported Package Managers ✅
|
||||
|
||||
| Package Manager | Distros |
|
||||
|-----------------|-------------------------------------------|
|
||||
| **APT** | Debian, Ubuntu, Linux Mint, Pop!_OS, etc |
|
||||
| **DNF** | Fedora, CentOS 8+, RHEL 8+, Rocky Linux, etc |
|
||||
| **Pacman** | Arch Linux, Manjaro, EndeavourOS, etc |
|
||||
| **Zypper** | openSUSE, SUSE Linux Enterprise, etc |
|
||||
| **APK** | Alpine Linux |
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
git clone https://github.com/StianNOR/StianNOR-ZSHkit.git ZSHkit
|
||||
cd ZSHkit
|
||||
chmod +x *.sh
|
||||
./setup_zsh.sh
|
||||
```
|
||||
|
||||
After installation, **log out and back in** (or reboot) for the shell change and font to take effect.
|
||||
|
||||
Then run `p10k configure` to set up your prompt style.
|
||||
|
||||
---
|
||||
|
||||
## Update Dashboard 🚀
|
||||
|
||||
The update dashboard keeps your system up to date and healthy with a single command.
|
||||
|
||||
```bash
|
||||
up # update everything: packages, flatpak, gems, Oh My Zsh, docker
|
||||
upc # first-run config: full update + interactive tool install/suppress mode
|
||||
uph # health check only
|
||||
ups # tool suggestions and interactive info browser
|
||||
uphelp # show all commands
|
||||
```
|
||||
|
||||
### What `up` does
|
||||
|
||||
- Updates system packages (pacman/yay, apt, dnf, zypper, or apk)
|
||||
- Updates Flatpak apps
|
||||
- Updates Ruby gems (colorls etc.)
|
||||
- Updates Oh My Zsh and all custom plugins
|
||||
- Prunes Docker images and volumes
|
||||
- Cleans journals, thumbnail cache and /tmp
|
||||
- Rotates logs automatically (keeps last 10)
|
||||
- Shows a health summary with GOOD/BAD verdict
|
||||
|
||||
### Tool Suggestions & Info Mode 📖
|
||||
|
||||
After running `upc` (or pressing `i` after `ups`), an interactive tool browser opens:
|
||||
|
||||
| Category | Tools |
|
||||
|----------|-------|
|
||||
| 🔒 Security | UFW, fail2ban, rkhunter, lynis, ClamAV, auditd, AppArmor |
|
||||
| ⚡ Optimization | earlyoom, irqbalance, thermald, zram, preload |
|
||||
| 📡 Monitoring | btop, smartmontools, ncdu, gdu, duf, nethogs, logwatch, nvtop |
|
||||
| 🛠 Terminal | bat, fzf, rsync, restic, tldr |
|
||||
| 🌐 Network & Extras | nmap, mtr, timeshift, yay (Arch), nala (Debian) |
|
||||
|
||||
**Controls:**
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `↑` / `↓` | Navigate tools |
|
||||
| `→` / `←` | Next / previous page |
|
||||
| `i` | Queue tool for install |
|
||||
| `s` | Suppress tool (hide from suggestions permanently) |
|
||||
| `q` | Save and exit |
|
||||
|
||||
---
|
||||
|
||||
## Keeping Your Config Up To Date
|
||||
|
||||
If you already have a customised `~/.zshrc` and don't want it overwritten, use the merge script instead of copying:
|
||||
|
||||
```bash
|
||||
cd ~/ZSHkit
|
||||
git pull
|
||||
zup # merges new ZSHkit sections into your existing ~/.zshrc
|
||||
fresh # reload
|
||||
```
|
||||
|
||||
The merge script only updates the **managed sections** (aliases, autosuggestions config) and leaves everything else untouched.
|
||||
|
||||
```bash
|
||||
zup --dry-run # preview changes without writing anything
|
||||
zup --status # check which sections are present in your ~/.zshrc
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Helpful Aliases
|
||||
|
||||
| Alias | Description |
|
||||
|-------|-------------|
|
||||
| `up` | Run system updates |
|
||||
| `upc` | First-run config + tool browser |
|
||||
| `uph` | Health check |
|
||||
| `ups` | Suggestions + info mode |
|
||||
| `uphelp` | Show all up commands |
|
||||
| `zup` | Merge new ZSHkit config into local ~/.zshrc |
|
||||
| `fresh` | Reload ~/.zshrc |
|
||||
| `ali` | Show all active aliases |
|
||||
| `rsy` | rsync with progress display |
|
||||
| `p10` | Launch Powerlevel10k configurator |
|
||||
| `ls` / `ll` / `la` / `sls` | colorls variants |
|
||||
|
||||
---
|
||||
|
||||
## Uninstall
|
||||
|
||||
```bash
|
||||
./uninstall_zsh_setup.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Screenshots
|
||||
|
||||
| Before | After |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|
||||
---
|
||||
|
||||
## Author
|
||||
|
||||
**StianNOR**
|
||||
|
||||
---
|
||||
|
||||
## Disclaimer ⚠️
|
||||
|
||||
Provided *as-is* for supported Linux distributions. Always back up important data before running scripts. The author accepts no responsibility for data loss or damage. Test in a VM if unsure.
|
||||
Reference in New Issue
Block a user