Megjelent a Decman 1.0, egy új, ígéretes eszköz az Arch Linux felhasználók számára, amely különösen azoknak lehet vonzó, akik hiányolják a NixOS-szerű, deklaratív rendszerkezelést, vagy DevOps-orientált gondolkodásmóddal szeretnék kézben tartani a rendszerük állapotát.
Mi a Decman lényege?
A Decman nem parancsok sorozatával („imperatív módon”) módosítja a rendszert, hanem egy deklarált kívánt állapotot kényszerít ki. Ez az állapot Pythonban megírt konfigurációként szolgál, és ez lesz az egyetlen „igazságforrás”.
A konfigurációban többek között megadható:
- mely pacman csomagok legyenek telepítve,
- mely AUR csomagok szükségesek,
- milyen konfigurációs fájloknak kell létezniük, és pontosan milyen tartalommal,
- mely systemd szolgáltatások legyenek engedélyezve,
- valamint milyen további technológiák (például Flatpak) legyenek használatban.
A Decman futtatásakor összehasonlítja a jelenlegi rendszerállapotot a deklarált konfigurációval, és csak azokat a változtatásokat hajtja végre, amelyek feltétlenül szükségesek az egyezéshez.
Egyszerű példa deklaratív konfigurációra
Egy minimális Decman-konfiguráció így nézhet ki:
import decman
from decman import File, Directory
# Telepítendő pacman csomagok
decman.pacman.packages |= {
"base", "linux", "linux-firmware",
"networkmanager", "ufw", "neovim"
}
# AUR csomagok
decman.aur.packages |= {"decman"}
# Konfigurációs fájl – inline tartalommal
decman.files["/etc/vconsole.conf"] = File(content="KEYMAP=us")
# Konfigurációs fájl forrásból
decman.files["/etc/pacman.conf"] = File(
source_file="./dotfiles/pacman.conf"
)
# Teljes könyvtár szinkronizálása
decman.directories["/home/user/.config/nvim"] = Directory(
source_directory="./dotfiles/nvim",
owner="user"
)
# Systemd szolgáltatás engedélyezése
decman.systemd.enabled_units |= {"NetworkManager.service"}
Funkciók röviden
- Pacman és AUR támogatás külön plugineken keresztül
- Konfigurációs fájlok és könyvtárak szinkronizálása jogosultságokkal, tulajdonossal
- Systemd integráció, szolgáltatások deklaratív engedélyezésével
- Flatpak plugin, így a Flatpak alkalmazások is ugyanabban a modellben kezelhetők
- Hookok: parancsok futtatása fájlváltozáskor vagy frissítés után (pl. initramfs újragenerálása)
Miért lehet ez nagy dobás Arch alatt?
A Decman használatával:
- a rendszer reprodukálhatóvá válik,
- egy új telepítés percek alatt azonos állapotba hozható,
- a napi karbantartás leegyszerűsödik:
- nem külön frissít, nem külön szerkeszt – csak újra alkalmazza a deklarációt.
Ez különösen értékes lehet:
- több Arch rendszer párhuzamos kezelésénél,
- munkaállomások egységesítésénél,
- vagy azoknak, akik szeretik a „konfiguráció mint kód” megközelítést.
A Decman 1.0 egyértelműen nem kezdőknek szól, viszont haladó Arch Linux felhasználóknak valódi paradigmaváltást hozhat. Ha beválik a gyakorlatban, akár teljesen kiválthatja a hagyományos kézi csomag- és konfigurációkezelést – és ezzel egy új, deklaratív irányt nyithat az Arch ökoszisztémában.
További információk és példák a projekt GitHub-oldalán érhetők el.

