46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
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"])
|