PyParted and a large rewrite of the underlying partitioning (#1604)
* Invert mypy files
* Add optional pre-commit hooks
* New profile structure
* Serialize profiles
* Use profile instead of classmethod
* Custom profile setup
* Separator between back
* Support profile import via url
* Move profiles module
* Refactor files
* Remove symlink
* Add user to docker group
* Update schema description
* Handle list services
* mypy fixes
* mypy fixes
* Rename profilesv2 to profiles
* flake8
* mypy again
* Support selecting DM
* Fix mypy
* Cleanup
* Update greeter setting
* Update schema
* Revert toml changes
* Poc external dependencies
* Dependency support
* New encryption menu
* flake8
* Mypy and flake8
* Unify lsblk command
* Update bootloader configuration
* Git hooks
* Fix import
* Pyparted
* Remove custom font setting
* flake8
* Remove default preview
* Manual partitioning menu
* Update structure
* Disk configuration
* Update filesystem
* luks2 encryption
* Everything works until installation
* Btrfsutil
* Btrfs handling
* Update btrfs
* Save encryption config
* Fix pipewire issue
* Update mypy version
* Update all pre-commit
* Update package versions
* Revert audio/pipewire
* Merge master PRs
* Add master changes
* Merge master changes
* Small renaming
* Pull master changes
* Reset disk enc after disk config change
* Generate locals
* Update naming
* Fix imports
* Fix broken sync
* Fix pre selection on table menu
* Profile menu
* Update profile
* Fix post_install
* Added python-pyparted to PKGBUILD, this requires [testing] to be enabled in order to run makepkg. Package still works via python -m build etc.
* Swaped around some setuptools logic in pyproject
Since we define `package-data` and `packages` there should be no need for:
```
[tool.setuptools.packages.find]
where = ["archinstall", "archinstall.*"]
```
* Removed pyproject collisions. Duplicate definitions.
* Made sure pyproject.toml includes languages
* Add example and update README
* Fix pyproject issues
* Generate locale
* Refactor imports
* Simplify imports
* Add profile description and package examples
* Align code
* Fix mypy
* Simplify imports
* Fix saving config
* Fix wrong luks merge
* Refactor installation
* Fix cdrom device loading
* Fix wrongly merged code
* Fix imports and greeter
* Don't terminate on partprobe error
* Use specific path on partprobe from luks
* Update archinstall/lib/disk/device_model.py
Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>
* Update archinstall/lib/disk/device_model.py
Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>
* Update github workflow to test archinstall installation
* Update sway merge
* Generate locales
* Update workflow
---------
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>
1 files changed, 27 insertions, 0 deletions
@@ -0,0 +1,27 @@ +from typing import Optional, List, Any, TYPE_CHECKING + +from archinstall.default_profiles.profile import ProfileType, GreeterType +from archinstall.default_profiles.xorg import XorgProfile + +if TYPE_CHECKING: + _: Any + + +class QtileProfile(XorgProfile): + def __init__(self): + super().__init__('Qtile', ProfileType.WindowMgr, description='') + + @property + def packages(self) -> List[str]: + return [ + 'qtile', + 'alacritty' + ] + + @property + def default_greeter_type(self) -> Optional[GreeterType]: + return GreeterType.Lightdm + + def preview_text(self) -> Optional[str]: + text = str(_('Environment type: {}')).format(self.profile_type.value) + return text + '\n' + self.packages_text() |