feat: updates to make it work

This commit is contained in:
2026-06-14 20:42:49 +02:00
parent dce3c77a29
commit fab293438e
26 changed files with 163 additions and 101 deletions
+10 -6
View File
@@ -1,4 +1,5 @@
import decman
import config
from decman.plugins import pacman
@@ -13,23 +14,29 @@ class DevTools(decman.Module):
"act",
"cronie",
"cloc",
"cmake",
"dart-sass",
"docker",
"docker-buildx",
"docker-compose",
"filezilla",
"git-lfs",
"hugo",
"helm",
"kitty",
"kubectl",
"lazygit",
"meld",
"meson",
"minisign",
"python-argcomplete",
"python-black",
"python-build",
"python-colorama",
"python-install",
"python-installer",
"python-jsonschema",
"python-pip",
"python-pyaml",
"python-numpy",
"python-scipy",
"python-sympy",
@@ -39,9 +46,6 @@ class DevTools(decman.Module):
def directories(self) -> dict[str, decman.Directory]:
return {
"~/.config/lazygit": decman.Directory("./config/lazygit"),
"~/.config/kitty": decman.Directory("./config/kitty"),
f"/home/{config.user}/.config/lazygit": decman.Directory("./config/lazygit", owner=config.user, group=config.user),
f"/home/{config.user}/.config/kitty": decman.Directory("./config/kitty", owner=config.user, group=config.user),
}
def files(self) -> dict[str, decman.File]:
return {"~/.indentconfig.yaml": decman.File("./linters/indentconfig.yaml")}
-1
View File
@@ -15,7 +15,6 @@ class Games(decman.Module):
"gamemode",
"gamescope",
# "lib32-vulkan-radeon",
"lovr",
"obs-studio",
"obs-studio-plugin-browser",
"prismlauncher",
@@ -1,23 +1,27 @@
import decman
from decman.plugins import pacman
import config
class VirtualMachines(decman.Module):
def __init__(self, user: str):
def __init__(self):
"""Set up virtual machines"""
self._user = user
super().__init__("virtualmachines")
@pacman.packages
def pkgs(self) -> set[str]:
return {
"dnsmasq",
"ebtables",
"libayatana-appindicator",
"libvirt-python",
"lvm2",
"qemu-base",
"vde2" "virt-manager",
"vde2",
"virt-manager",
"virt-viewer",
}
def on_enable(self, store: decman.Store):
# TODO: Everywhere, make user configurable
decman.prg(["usermod", "-G", "libvirt", "-a", self._user])
decman.prg(["usermod", "-G", "libvirt", "-a", config.user])
+15 -2
View File
@@ -12,20 +12,33 @@ class BasePackages(decman.Module):
return {
"base",
"base-devel",
"cifs",
"cifs-utils",
"cups",
"dosfstools",
"efibootmgr",
"exfatprogs",
"git",
"grub",
"gsl",
"libisoburn",
"libguestfs",
"libmicrohttpd",
"linux",
"linux-firmware",
"linux-headers",
"lzop",
"mesa",
"mesa-utils",
"mtools",
"ntfs-3g",
"ntfsprogs",
"networkmanager",
"paccache",
"pacman-contrib",
"plymouth",
"reflector",
"samba",
"sdl12-compat",
"sdl2-compat",
"sudo",
"systemd-resolvconf",
"trash-cli",
+2 -1
View File
@@ -10,10 +10,11 @@ class Pipewire(decman.Module):
@pacman.packages
def pkgs(self) -> set[str]:
return {
"gst-plugin-pipewire",
"pavucontrol",
"pipewire",
"pipewire-alsa",
"pipewire-pulse",
"pipewire-jack",
"wireplumber",
"pavucontrol",
}
+10 -5
View File
@@ -1,6 +1,8 @@
import decman
from decman.plugins import pacman, aur
import config
class FileManager(decman.Module):
def __init__(self):
@@ -12,7 +14,10 @@ class FileManager(decman.Module):
return {
"ifuse",
"libimobiledevice",
"fuse2",
"movit",
"ouch",
"resvg",
"yazi",
}
@@ -22,11 +27,11 @@ class FileManager(decman.Module):
def directories(self) -> dict[str, decman.Directory]:
return {
"~/.config/xdg-desktop-portal": decman.Directory(
"./config/xdg-desktop-portal"
f"/home/{config.user}/.config/xdg-desktop-portal": decman.Directory(
"./config/xdg-desktop-portal", owner=config.user, group=config.user
),
"~/.config/xdg-desktop-portal-termfilechooser": decman.Directory(
"./config/xdg-desktop-portal-termfilechooser"
f"/home/{config.user}/.config/xdg-desktop-portal-termfilechooser": decman.Directory(
"./config/xdg-desktop-portal-termfilechooser", owner=config.user, group=config.user
),
"~/.config/yazi": decman.Directory("./config/yazi"),
f"/home/{config.user}/.config/yazi": decman.Directory("./config/yazi", owner=config.user, group=config.user),
}
+16 -7
View File
@@ -1,6 +1,8 @@
import decman
from decman.plugins import pacman
import config
class Hyprland(decman.Module):
def __init__(self):
@@ -10,22 +12,29 @@ class Hyprland(decman.Module):
@pacman.packages
def pkgs(self) -> set[str]:
return {
"cliphist",
# "grimblast",
"hyprland",
"hyprlock",
"hypridle",
"hyprshutdown",
"grimblast",
"xdg-desktop-portal-hyprland",
"hyprpolkitagent",
"hyprpaper",
"wl-clipboard",
"cliphist",
"hyprpwcenter",
"hyprtoolkit",
"hyprpolkitagent",
"hyprpaper",
"libappindicator",
"rtkit",
"wl-clipboard",
"wev",
"xdg-desktop-portal-hyprland",
}
def directories(self) -> dict[str, decman.Directory]:
return {"~/.config/hypr": decman.Directory("./config/hypr")}
return {
f"/home/{config.user}/.config/hypr": decman.Directory(
"./config/hypr", owner=config.user, group=config.user
)
}
def on_change(self, store: decman.Store):
return super().on_change(store)
+6 -2
View File
@@ -2,6 +2,8 @@
import decman
from decman.plugins import pacman
import config
class DesktopShell(decman.Module):
def __init__(self):
@@ -10,8 +12,10 @@ class DesktopShell(decman.Module):
@pacman.packages
def pkgs(self) -> set[str]:
return {"dms-shell", "cava", "matugen", "papirus-icon-theme", "adw-gtk-theme"}
return {"dms-shell", "cava", "matugen", "papirus-icon-theme", "adw-gtk-theme", "power-profiles-daemon", "qt6ct"}
# TODO: Copy the config of dms, once done
def directories(self) -> dict[str, decman.Directory]:
return { "~/.config/matugen": decman.Directory("./config/matugen") }
return {
f"/home/{config.user}/.config/matugen": decman.Directory("./config/matugen", owner=config.user, group=config.user)
}
+12 -5
View File
@@ -1,6 +1,8 @@
import decman
from decman.plugins import pacman, aur
import config
class UtilPackages(decman.Module):
def __init__(self):
@@ -11,9 +13,9 @@ class UtilPackages(decman.Module):
def pkgs(self) -> set[str]:
return {
"bashtop",
"bind",
"bluez",
"clamav",
"dig",
"evince",
"fastfetch",
"fd",
@@ -23,9 +25,12 @@ class UtilPackages(decman.Module):
"fzf",
"gdu",
"gimp",
"go",
"gnome-disk-utility",
"gwenview",
"handbrake",
"iptables",
"libdvdcss",
"man-pages",
"man-db",
"mpv",
@@ -59,12 +64,14 @@ class UtilPackages(decman.Module):
"uxplay",
"git-credential-manager-bin",
"gradia",
"parabolic"
"parabolic",
}
def directories(self) -> dict[str, decman.Directory]:
return {
"~/.config/fish": decman.Directory("./config/fish"),
"~/.config/fastfetch": decman.Directory("./config/fastfetch"),
"~/.config/mpv": decman.Directory("./config/mpv"),
f"/home/{config.user}/.config/fish": decman.Directory("./config/fish", owner=config.user, group=config.user),
f"/home/{config.user}/.config/fastfetch": decman.Directory(
"./config/fastfetch", owner=config.user, group=config.user
),
f"/home/{config.user}/.config/mpv": decman.Directory("./config/mpv", owner=config.user, group=config.user),
}