feat: článek Shelly-ALPM
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user