diff --git a/commands/show.py b/commands/show.py new file mode 100644 index 0000000..0953172 --- /dev/null +++ b/commands/show.py @@ -0,0 +1,19 @@ +from typing import Literal + +from config.dtype import ArchMgrConfig +from templates import ArchMgrTemplates + + +# TODO: Templates data +def show( + config: ArchMgrConfig, spec: ArchMgrTemplates, kind: Literal["bundle"], arg: str +): + """Show details / information about things like contents pkg bundles + + Args: + config: The configuration + spec: The archmgr templates that were loaded + kind: The type of information to get + arg: The arg for the command (e.g. bundle name) + """ + pass diff --git a/config.yml b/config.yml index aaf2dec..2eaa5f4 100644 --- a/config.yml +++ b/config.yml @@ -27,7 +27,7 @@ boot: managed: True bootloader: grub esp_dir: /boot/ - theme_folder: ~/.path/to/theme/ + theme_folder: ~/.path/to/theme/ # This could then be used with git to clone it in os_prober: False # Also copies over the /etc/default/grub config or equivalent for other supported bootloaders @@ -39,6 +39,7 @@ themes: font: Comfortaa 11 # the font name to be used (also needs to be installed) icon_theme: candy-icons # The icon theme to use (also needs to be installed) cursor_theme: oreo_spark_blue_cursors # TODO: Consider if GTK settings file should just be copied + # TODO: Cursor theme needs more flexibility git: creds: diff --git a/managers/templates.py b/managers/templates.py new file mode 100644 index 0000000..4b5f50f --- /dev/null +++ b/managers/templates.py @@ -0,0 +1 @@ +# Import the configuration preset templates diff --git a/templates/__init__.py b/templates/__init__.py new file mode 100644 index 0000000..c40204d --- /dev/null +++ b/templates/__init__.py @@ -0,0 +1,17 @@ +from config.dtype.others import ArchMgrTemplateData + + +class ArchMgrTemplates: + pkg_bundles: dict[str, list[str]] + bootloader_config: BootLoaderSettings + theme_templates: ArchMgrTemplateData + repo_config: None # TODO: Define a good dtype here + + +class BootLoaderSettings: + templates: ArchMgrTemplateData + name: str + + +def load_templates(): + pass diff --git a/templates/config/system/pkgs.yml b/templates/config/system/pkgs.yml index d20d38a..6d78645 100644 --- a/templates/config/system/pkgs.yml +++ b/templates/config/system/pkgs.yml @@ -22,3 +22,31 @@ pipewire: neovim: - neovim + - lua + - lua-language-server + - tree-sitter + - tree-sitter-cli + - stylua + +archives: + - zip + - unzip + +bluetooth: + - blueman + - bluez + - bluez-utils + +utils: + - fastfetch + - tldr + - gdu + - dig + - glances + - bashtop + +# TODO: For all, make it possible to be pkgs plus configs? +yazi: + - yazi + - xdg-desktop-portal-termfilechooser-hunkyburrito-git + - ouch diff --git a/templates/template.schema.json b/templates/template.schema.json new file mode 100644 index 0000000..aff1cc7 --- /dev/null +++ b/templates/template.schema.json @@ -0,0 +1,7 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "properties": { + "": {} + } +}