feat: todos, decman config almost complete
This commit is contained in:
@@ -17,12 +17,31 @@ class DevTools(decman.Module):
|
||||
"docker-buildx",
|
||||
"docker-compose",
|
||||
"filezilla",
|
||||
"kitty",
|
||||
"lazygit",
|
||||
"git-lfs",
|
||||
"hugo",
|
||||
"kitty",
|
||||
"lazygit",
|
||||
"meld",
|
||||
"minisign",
|
||||
"python-argcomplete",
|
||||
"python-black",
|
||||
"python-build",
|
||||
"python-colorama",
|
||||
"python-install",
|
||||
"python-jsonschema",
|
||||
"python-pip",
|
||||
"python-numpy",
|
||||
"python-scipy",
|
||||
"python-sympy",
|
||||
"serpl",
|
||||
"terminator",
|
||||
}
|
||||
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
"~/.config/lazygit": decman.Directory("./config/lazygit"),
|
||||
"~/.config/kitty": decman.Directory("./config/kitty"),
|
||||
}
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
return {"~/.indentconfig.yaml": decman.File("./linters/indentconfig.yaml")}
|
||||
|
||||
@@ -12,12 +12,16 @@ class Games(decman.Module):
|
||||
return {
|
||||
"android-udev",
|
||||
"android-tools",
|
||||
"lib32-vulkan-radeon",
|
||||
"vulkan-radeon",
|
||||
"steam",
|
||||
"prismlauncher",
|
||||
"gamemmode",
|
||||
"gamemode",
|
||||
"gamescope",
|
||||
# "lib32-vulkan-radeon",
|
||||
"lovr",
|
||||
"obs-studio",
|
||||
"obs-studio-plugin-browser",
|
||||
"prismlauncher",
|
||||
"steam",
|
||||
"vulkan-radeon",
|
||||
"v4l2loopback-dkms",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
|
||||
@@ -2,7 +2,7 @@ import decman
|
||||
from decman.plugins import aur
|
||||
|
||||
|
||||
class BasePackages(decman.Module):
|
||||
class SteeringWheel(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("steering-wheel")
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
import decman
|
||||
from decman.plugins import pacman
|
||||
|
||||
|
||||
class VirtualMachines(decman.Module):
|
||||
def __init__(self, user: str):
|
||||
"""Set up virtual machines"""
|
||||
self._user = user
|
||||
super().__init__("virtualmachines")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"dnsmasq",
|
||||
"ebtables",
|
||||
"qemu-base",
|
||||
"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])
|
||||
@@ -11,33 +11,41 @@ class BasePackages(decman.Module):
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"base",
|
||||
"base-devel",
|
||||
"cifs",
|
||||
"cups",
|
||||
"efibootmgr",
|
||||
"git",
|
||||
"grub",
|
||||
"linux",
|
||||
"linux-firmware",
|
||||
"linux-headers",
|
||||
"mesa",
|
||||
"mesa-utils",
|
||||
"networkmanager",
|
||||
"git",
|
||||
"paccache",
|
||||
"plymouth",
|
||||
"reflector",
|
||||
"sudo",
|
||||
"systemd-resolvconf",
|
||||
"trash-cli",
|
||||
"base-devel",
|
||||
"cifs",
|
||||
"reflector",
|
||||
"paccache",
|
||||
"plymouth"
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"decman"}
|
||||
|
||||
# TODO:
|
||||
# def file_variables(self) -> dict[str, str]:
|
||||
# return super().file_variables()
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
# TODO: File substitutions (for PC and laptop)
|
||||
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"),
|
||||
"/etc/environment": decman.File(source_file="./system/environment"),
|
||||
}
|
||||
|
||||
def on_change(self, store):
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
from decman.plugins import pacman
|
||||
|
||||
|
||||
class BaseModule(decman.Module):
|
||||
class Pipewire(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("base")
|
||||
super().__init__("pipewire")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
|
||||
@@ -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("") }
|
||||
|
||||
@@ -12,8 +12,7 @@ class UtilPackages(decman.Module):
|
||||
return {
|
||||
"bashtop",
|
||||
"bluez",
|
||||
"bluez-utils",
|
||||
"blueman",
|
||||
"clamav",
|
||||
"dig",
|
||||
"evince",
|
||||
"fastfetch",
|
||||
@@ -31,9 +30,9 @@ class UtilPackages(decman.Module):
|
||||
"man-db",
|
||||
"mpv",
|
||||
"nextcloud-client",
|
||||
"obs-studio",
|
||||
"okular",
|
||||
"openconnect",
|
||||
"os-prober",
|
||||
"qalculate-qt",
|
||||
"ripgrep",
|
||||
"simple-scan",
|
||||
@@ -48,8 +47,24 @@ class UtilPackages(decman.Module):
|
||||
"zathura-pdf-poppler",
|
||||
"zip",
|
||||
"zoxide",
|
||||
"networkmanager-openconnect",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"librewolf-bin", "brave-bin", "vesktop-bin", "uxplay", "git-credential-manager-bin"}
|
||||
return {
|
||||
"librewolf-bin",
|
||||
"brave-bin",
|
||||
"vesktop-bin",
|
||||
"uxplay",
|
||||
"git-credential-manager-bin",
|
||||
"gradia",
|
||||
"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"),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user