feat: článek Shelly-ALPM

This commit is contained in:
2026-06-26 08:53:45 +02:00
parent 3bd708d9a7
commit bd8268b7b8
@@ -0,0 +1,253 @@
# Shelly-ALPM Moderní správce balíčků pro Arch Linux
*Alternativa k pacmanu, která mluví lidsky*
---
## 1. Co je Shelly?
Shelly je grafický i příkazový správce balíčků pro Arch Linux. Na rozdíl od většiny alternativ (octopi, pamac) **není wrapper nad pacmanem** komunikuje přímo s knihovnou `libalpm`, tedy se stejným jádrem, které používá samotný pacman.
Projekt vyvíjí Zoey Bauer pod hlavičkou Seafoam Labs. Je psaný v C# (.NET 10), GUI běží na GTK 4 s nativní podporou Waylandu. Licence je GPL-3.0.
---
## 2. Proč by tě to mělo zajímat?
Pacman je skvělý nástroj, ale jeho syntaxe není zrovna intuitivní. Porovnej:
```bash
# pacman
sudo pacman -Syu firefox
sudo pacman -Rns firefox
pacman -Ss firefox
# shelly
shelly install firefox
shelly remove firefox
shelly search firefox
```
Shelly nabízí jednotnou, čitelnou syntaxi a k tomu moderní GUI, kde na jednom místě zvládneš oficiální repozitáře, AUR i Flatpak.
---
## 3. Hlavní vlastnosti
- **CLI + GUI** `shelly` pro terminál, `shelly-ui` pro grafické rozhraní
- **Přímá integrace s libalpm** žádný wrapper, žádná mezivrstva
- **AUR podpora** vyhledávání, instalace i aktualizace AUR balíčků
- **Flatpak podpora** správa Flatpak aplikací včetně instalace z FlatpakRef souborů
- **Notifikace** `shelly-notifications` běží v tray a upozorní na dostupné aktualizace
- **Nativní Wayland** GUI postavené na GTK 4
- **Themování** Shelly používá čisté GTK bez libadwaita, takže respektuje tvoje systémové téma
---
## 4. Instalace
### CachyOS (v oficiálních repozitářích)
```bash
sudo pacman -Syu shelly
```
### AUR (pro čistý Arch a další deriváty)
```bash
yay -S shelly
```
nebo
```bash
paru -S shelly
```
### Ruční build z GitHubu
```bash
git clone https://github.com/Seafoam-Labs/Shelly-ALPM.git
cd Shelly-ALPM
makepkg -si
```
Po instalaci máš k dispozici tři binárky:
```bash
shelly # CLI
shelly-ui # GUI
shelly-notifications # tray notifikace
```
---
## 5. Základní použití CLI
### Synchronizace databáze
```bash
shelly sync
shelly sync --force # vynutí refresh i když je DB aktuální
```
### Aktualizace systému
```bash
shelly upgrade
shelly upgrade --no-confirm # bez potvrzení
```
### Instalace a odebírání balíčků
```bash
shelly install firefox vim
shelly remove firefox
```
### Hledání balíčků
```bash
shelly list-installed # nainstalované balíčky
shelly list-available # dostupné balíčky
shelly list-updates # balíčky s dostupnou aktualizací
```
### Instalace lokálního balíčku
```bash
shelly install-local /cesta/k/balicku.pkg.tar.zst
```
---
## 6. AUR příkazy
```bash
shelly aur search neovim # hledání v AUR
shelly aur install neovim-git # instalace z AUR
shelly aur list # nainstalované AUR balíčky
shelly aur list-updates # AUR balíčky s aktualizací
shelly aur upgrade # aktualizace všech AUR balíčků
shelly aur remove neovim-git # odebrání AUR balíčku
```
---
## 7. Flatpak příkazy
```bash
shelly flatpak search signal # hledání na Flathubu
shelly flatpak install org.signal.Signal # instalace
shelly flatpak list # nainstalované Flatpak aplikace
shelly flatpak upgrade # aktualizace všech
shelly flatpak uninstall org.signal.Signal # odebrání
shelly flatpak run org.signal.Signal # spuštění
```
---
## 8. Konfigurace
Při prvním spuštění se vytvoří konfigurační soubor:
```
~/.config/shelly/config.json
```
Příklad obsahu:
```json
{
"FileSizeDisplay": "Megabytes",
"DefaultExecution": "UpgradeAll"
}
```
- **FileSizeDisplay** formát velikosti souborů: `Bytes`, `Megabytes`, `Gigabytes`
- **DefaultExecution** co se stane při spuštění `shelly` bez parametrů: `UpgradeAll`, `UpgradeStandard`, `UpgradeFlatpak`, `UpgradeAur`, `Sync`, `SyncForce`, `ListInstalled`
---
## 9. Srovnání s pacmanem
| Akce | pacman | shelly |
|---|---|---|
| Aktualizace systému | `sudo pacman -Syu` | `shelly upgrade` |
| Instalace balíčku | `sudo pacman -Syu balíček` | `shelly install balíček` |
| Odebrání balíčku | `sudo pacman -Rns balíček` | `shelly remove balíček` |
| Hledání balíčku | `pacman -Ss balíček` | `shelly list-available` |
| Nainstalované balíčky | `pacman -Q` | `shelly list-installed` |
| Dostupné aktualizace | `checkupdates` | `shelly list-updates` |
| Synchronizace DB | `sudo pacman -Sy` | `shelly sync` |
| AUR instalace | `yay -S balíček` | `shelly aur install balíček` |
---
## 10. Co je v plánu?
Podle roadmapy projektu se chystá:
- Správa repozitářů přímo z GUI
- Podpora AppImage (ve stylu GearLever)
- Vylepšená Flatpak integrace
- Import seznamu balíčků obnovení systému do uloženého stavu
- Ikony pro standardní balíčky při vyhledávání
- Spouštění aktualizací přímo z notifikací
---
## 11. Pro koho je Shelly?
Shelly se hodí hlavně pro:
- **Začátečníky na Archu** GUI + čitelné příkazy snižují bariéru vstupu
- **Uživatele CachyOS** Shelly je součástí oficiálních repozitářů
- **Kohokoliv, kdo chce AUR + Flatpak + pacman na jednom místě**
Pro zkušené uživatele, kteří mají pacman v krvi a nepotřebují GUI, je Shelly spíš doplněk než náhrada. Ale ta CLI syntaxe je fakt příjemnější.
---
## Cheat sheet
```
╔══════════════════╦════════════════════════════════════════════════╗
║ KATEGORIE ║ PŘÍKAZ ║
╠══════════════════╬════════════════════════════════════════════════╣
║ SYSTÉM ║ ║
║ ║ shelly sync → synchronizace DB ║
║ ║ shelly upgrade → aktualizace systému ║
║ ║ shelly list-updates → dostupné aktualizace ║
╠══════════════════╬════════════════════════════════════════════════╣
║ BALÍČKY ║ ║
║ ║ shelly install pkg → instalace ║
║ ║ shelly remove pkg → odebrání ║
║ ║ shelly list-installed → nainstalované ║
║ ║ shelly install-local → lokální balíček ║
╠══════════════════╬════════════════════════════════════════════════╣
║ AUR ║ ║
║ ║ shelly aur search → hledání v AUR ║
║ ║ shelly aur install → instalace z AUR ║
║ ║ shelly aur upgrade → aktualizace AUR ║
║ ║ shelly aur list → nainstalované AUR ║
╠══════════════════╬════════════════════════════════════════════════╣
║ FLATPAK ║ ║
║ ║ shelly flatpak search → hledání na Flathubu ║
║ ║ shelly flatpak install→ instalace ║
║ ║ shelly flatpak upgrade→ aktualizace všech ║
║ ║ shelly flatpak list → nainstalované ║
╠══════════════════╬════════════════════════════════════════════════╣
║ GUI ║ ║
║ ║ shelly-ui → grafické rozhraní ║
║ ║ shelly-notifications → tray notifikace ║
╚══════════════════╩════════════════════════════════════════════════╝
```
---
**Odkazy:**
- GitHub: [github.com/Seafoam-Labs/Shelly-ALPM](https://github.com/Seafoam-Labs/Shelly-ALPM)
- Web: [shellyalpm.com](https://shellyalpm.com)
- Licence: GPL-3.0