feat: todos, decman config almost complete
This commit is contained in:
@@ -2,26 +2,31 @@ import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
|
||||
class BaseModule(decman.Module):
|
||||
class FileManager(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("yazi")
|
||||
super().__init__("filemanager")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"yazi",
|
||||
"ifuse",
|
||||
"libimobiledevice",
|
||||
"ouch",
|
||||
"grub",
|
||||
"linux",
|
||||
"networkmanager",
|
||||
"git",
|
||||
"base-devel",
|
||||
"yazi",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"xdg-desktop-portal-termfilechooser-hunkyburrito-git"}
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
return super().files()
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
"~/.config/xdg-desktop-portal": decman.Directory(
|
||||
"./config/xdg-desktop-portal"
|
||||
),
|
||||
"~/.config/xdg-desktop-portal-termfilechooser": decman.Directory(
|
||||
"./config/xdg-desktop-portal-termfilechooser"
|
||||
),
|
||||
"~/.config/yazi": decman.Directory("./config/yazi"),
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
|
||||
class BaseModule(decman.Module):
|
||||
class Fonts(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("fonts")
|
||||
@@ -10,7 +10,7 @@ class BaseModule(decman.Module):
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"adobe-source-code-pro-fonts"
|
||||
"adobe-source-code-pro-fonts",
|
||||
"ttf-fantasque-nerd",
|
||||
"ttf-jetbrains-mono-nerd",
|
||||
"ttf-iosevka-nerd",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
from decman.plugins import pacman
|
||||
|
||||
|
||||
class BaseModule(decman.Module):
|
||||
class Hyprland(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("base")
|
||||
super().__init__("hyprland")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
@@ -15,19 +15,17 @@ class BaseModule(decman.Module):
|
||||
"hypridle",
|
||||
"hyprshutdown",
|
||||
"grimblast",
|
||||
"grim",
|
||||
"xdg-desktop-portal-hyprland",
|
||||
"hyprpolkitagent",
|
||||
"hyprpaper",
|
||||
"wl-clipboard",
|
||||
"cliphist",
|
||||
"hyrplauncher",
|
||||
"hyprpwcenter",
|
||||
"hyprtoolkit",
|
||||
}
|
||||
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return super().directories()
|
||||
return {"~/.config/hypr": decman.Directory("./config/hypr")}
|
||||
|
||||
def on_change(self, store: decman.Store):
|
||||
return super().on_change(store)
|
||||
|
||||
@@ -8,7 +8,7 @@ class LoginManager(decman.Module):
|
||||
def __init__(self, platform: Literal["desktop", "laptop"]):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
self._platform: Literal["desktop", "laptop"] = platform
|
||||
super().__init__("base")
|
||||
super().__init__("login")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
@@ -20,12 +20,19 @@ class LoginManager(decman.Module):
|
||||
else:
|
||||
return {"gdm"}
|
||||
|
||||
# TODO: Config files for laptop and desktop
|
||||
# TODO: Consider dms greetd for desktop
|
||||
|
||||
@systemd.units
|
||||
def units(self) -> set[str]:
|
||||
if self._platform == "desktop":
|
||||
return {"greetd.service"}
|
||||
else:
|
||||
return {"gdm.service"}
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
if self._platform == "desktop":
|
||||
return {
|
||||
"/etc/greetd/config.toml": decman.File("./system/greetd/config.toml"),
|
||||
"/etc/pam.d/greetd": decman.File("./system/greetd/pam"),
|
||||
}
|
||||
else:
|
||||
# TODO: GDM config files
|
||||
return {}
|
||||
|
||||
@@ -6,15 +6,12 @@ from decman.plugins import pacman
|
||||
class DesktopShell(decman.Module):
|
||||
def __init__(self):
|
||||
"""DesktopShell"""
|
||||
super().__init__("base")
|
||||
super().__init__("desktopshell")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {"dms-shell", "cava", "matugen"}
|
||||
|
||||
# TODO: Copy the config, once done
|
||||
# TODO: Copy the config of dms, once done
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return { "~/.config/matugen": decman.Directory("./config/matugen") }
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
return { "~/.config/matugen": decman.File("") }
|
||||
|
||||
Reference in New Issue
Block a user