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