feat: basic setup with all packages

This commit is contained in:
2026-06-13 14:14:29 +02:00
commit 811ed1e9c4
15 changed files with 379 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
import decman
from decman.plugins import pacman, aur
class BasePackages(decman.Module):
def __init__(self):
"""Base packages that should never be uninstalled"""
super().__init__("base")
@pacman.packages
def pkgs(self) -> set[str]:
return {
"base",
"cups",
"efibootmgr",
"grub",
"linux",
"linux-firmware",
"linux-headers",
"networkmanager",
"git",
"sudo",
"systemd-resolvconf",
"trash-cli",
"base-devel",
"cifs",
"reflector",
"paccache",
"plymouth"
}
@aur.packages
def aurpkgs(self) -> set[str]:
return {"decman"}
def files(self) -> dict[str, decman.File]:
return {
"/etc/mkinitcpio.conf": decman.File(source_file="./system/mkinitcpio.conf"),
"/etc/pacman.conf": decman.File(source_file="./system/pacman.conf"),
"/etc/default/grub": decman.File(source_file="./system/grub"),
}
def on_change(self, store):
decman.prg(["mkinitcpio", "-P"])
decman.prg(["grub-mkconfig", "-o", "/boot/grub/grub.cfg"])