feat: basic setup with all packages
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman
|
||||||
|
|
||||||
|
|
||||||
|
class BaseModule(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("latex")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"texlive",
|
||||||
|
"texlive-langgerman",
|
||||||
|
"perl-yaml-tiny",
|
||||||
|
"perl-file-homedir",
|
||||||
|
"biber",
|
||||||
|
"texlab",
|
||||||
|
}
|
||||||
|
|
||||||
|
def on_enable(self, store: decman.Store):
|
||||||
|
# TODO: clone the git repo
|
||||||
|
return super().on_enable(store)
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class NeovimModule(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Neovim Packages"""
|
||||||
|
super().__init__("neovim")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"neovim",
|
||||||
|
"lua",
|
||||||
|
"lua-language-server",
|
||||||
|
"tree-sitter",
|
||||||
|
"tree-sitter-cli",
|
||||||
|
"stylua",
|
||||||
|
}
|
||||||
|
|
||||||
|
# def directories(self) -> dict[str, decman.Directory]:
|
||||||
|
# return { "": decman.Directory() }
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
# Consider switching to WiVRN
|
||||||
|
return {"bs-manager-bin", "alvr-bin"}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman
|
||||||
|
|
||||||
|
|
||||||
|
class DevTools(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("dev-tools")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"act",
|
||||||
|
"cronie",
|
||||||
|
"cloc",
|
||||||
|
"docker",
|
||||||
|
"docker-buildx",
|
||||||
|
"docker-compose",
|
||||||
|
"filezilla",
|
||||||
|
"kitty",
|
||||||
|
"lazygit",
|
||||||
|
"git-lfs",
|
||||||
|
"hugo",
|
||||||
|
"meld",
|
||||||
|
"minisign",
|
||||||
|
"serpl",
|
||||||
|
"terminator",
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class Games(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("games")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"android-udev",
|
||||||
|
"android-tools",
|
||||||
|
"lib32-vulkan-radeon",
|
||||||
|
"vulkan-radeon",
|
||||||
|
"steam",
|
||||||
|
"prismlauncher",
|
||||||
|
"gamemmode",
|
||||||
|
"gamescope",
|
||||||
|
}
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
# Consider switching to WiVRN
|
||||||
|
return {"bs-manager-bin", "alvr-bin"}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import aur
|
||||||
|
|
||||||
|
|
||||||
|
class BasePackages(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("steering-wheel")
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
return {"oversteer", "hid-tmff2-dkms-git"}
|
||||||
|
|
||||||
|
def on_enable(self, store: decman.Store):
|
||||||
|
return super().on_enable(store)
|
||||||
@@ -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"])
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class BaseModule(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("base")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"pipewire",
|
||||||
|
"pipewire-alsa",
|
||||||
|
"pipewire-pulse",
|
||||||
|
"pipewire-jack",
|
||||||
|
"wireplumber",
|
||||||
|
"pavucontrol",
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# NOTE: Bar will be rewritten in QuickShell likely
|
||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class LoginManager(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("base")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
# "quickshell",
|
||||||
|
"playerctl",
|
||||||
|
"playerctl",
|
||||||
|
}
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
# TODO: Rewrite bar in quickshell
|
||||||
|
return {"aylurs-gtk-shell"}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class BaseModule(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("yazi")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"yazi",
|
||||||
|
"ouch",
|
||||||
|
"grub",
|
||||||
|
"linux",
|
||||||
|
"networkmanager",
|
||||||
|
"git",
|
||||||
|
"base-devel",
|
||||||
|
}
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
return {"xdg-desktop-portal-termfilechooser-hunkyburrito-git"}
|
||||||
|
|
||||||
|
def files(self) -> dict[str, decman.File]:
|
||||||
|
return super().files()
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class BaseModule(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("fonts")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"adobe-source-code-pro-fonts"
|
||||||
|
"ttf-fantasque-nerd",
|
||||||
|
"ttf-jetbrains-mono-nerd",
|
||||||
|
"ttf-iosevka-nerd",
|
||||||
|
"ttf-nerd-fonts-symbols-common",
|
||||||
|
"inter-font",
|
||||||
|
}
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
return {"ttf-comfortaa"}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class BaseModule(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Base packages that should never be uninstalled"""
|
||||||
|
super().__init__("base")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"hyprland",
|
||||||
|
"hyprlock",
|
||||||
|
"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()
|
||||||
|
|
||||||
|
def on_change(self, store: decman.Store):
|
||||||
|
return super().on_change(store)
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
from typing import Literal
|
||||||
|
|
||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, systemd
|
||||||
|
|
||||||
|
|
||||||
|
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")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
if self._platform == "desktop":
|
||||||
|
return {
|
||||||
|
"greetd",
|
||||||
|
"greetd-tuigreet",
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
return {"gdm"}
|
||||||
|
|
||||||
|
# TODO: Config files for laptop and desktop
|
||||||
|
|
||||||
|
@systemd.units
|
||||||
|
def units(self) -> set[str]:
|
||||||
|
if self._platform == "desktop":
|
||||||
|
return {"greetd.service"}
|
||||||
|
else:
|
||||||
|
return {"gdm.service"}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
|
class UtilPackages(decman.Module):
|
||||||
|
def __init__(self):
|
||||||
|
"""Util packages"""
|
||||||
|
super().__init__("util")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"bashtop",
|
||||||
|
"bluez",
|
||||||
|
"bluez-utils",
|
||||||
|
"blueman",
|
||||||
|
"dig",
|
||||||
|
"evince",
|
||||||
|
"fastfetch",
|
||||||
|
"fd",
|
||||||
|
"ffmpeg",
|
||||||
|
"ffmpegthumbnailer",
|
||||||
|
"fish",
|
||||||
|
"fzf",
|
||||||
|
"gdu",
|
||||||
|
"gimp",
|
||||||
|
"gwenview",
|
||||||
|
"handbrake",
|
||||||
|
"iptables",
|
||||||
|
"man-pages",
|
||||||
|
"man-db",
|
||||||
|
"mpv",
|
||||||
|
"nextcloud-client",
|
||||||
|
"obs-studio",
|
||||||
|
"okular",
|
||||||
|
"openconnect",
|
||||||
|
"qalculate-qt",
|
||||||
|
"ripgrep",
|
||||||
|
"simple-scan",
|
||||||
|
"smartmontools",
|
||||||
|
"thunderbird",
|
||||||
|
"tldr",
|
||||||
|
"unzip",
|
||||||
|
"wget",
|
||||||
|
"wine",
|
||||||
|
"xclip",
|
||||||
|
"zathura",
|
||||||
|
"zathura-pdf-poppler",
|
||||||
|
"zip",
|
||||||
|
"zoxide",
|
||||||
|
}
|
||||||
|
|
||||||
|
@aur.packages
|
||||||
|
def aurpkgs(self) -> set[str]:
|
||||||
|
return {"librewolf-bin", "brave-bin", "vesktop-bin", "uxplay", "git-credential-manager-bin"}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import decman
|
||||||
|
|
||||||
|
|
||||||
|
class SystemTheme(decman.Module):
|
||||||
|
pass
|
||||||
Reference in New Issue
Block a user