Commit Graph

32 Commits

Author SHA1 Message Date
correctmost f578ac4ade
Remove unused argument from GlobalMenu._get_menu_options (#2977) 2024-12-01 17:41:03 +11:00
correctmost 604526c3c8
Enable the f-string ruff rule and fix warnings (#2965) 2024-11-30 20:03:09 +11:00
correctmost 80eebcff4f
Enable the explicit-f-string-type-conversion rule and fix warnings (#2954) 2024-11-29 06:43:13 +11:00
Daniel Girtler e51f7adf21
Dataclasses for args and config (#2936)
* Introduce dataclass for arguments and configuration

* Update

* Update
2024-11-26 11:08:36 +01:00
correctmost 8d807c08ee
Use precise type hints for most DeferredTranslation references (#2929)
The remaining "_: Any" instances will require accompanying code
changes.
2024-11-25 18:49:22 +11:00
correctmost 3255744278
Sort and format remaining imports (#2877)
This commit also enables isort rules in the Ruff config.
2024-11-19 11:18:47 +11:00
correctmost 0dc77f8e8a
Replace more Optional instances with union syntax in lib/ (#2841) 2024-11-17 11:01:57 +11:00
Daniel Girtler b61b5c82fa
Simplify translation call in f-string (#2826) 2024-11-16 10:46:33 +01:00
correctmost c87c723549
Remove most deprecated typing.Dict usage (#2813) 2024-11-16 11:57:46 +11:00
correctmost dff101e279
Remove most deprecated typing.List usage (#2810) 2024-11-16 10:13:51 +11:00
Daniel Girtler 88b91ae201
Integrate new curses menu (#2663)
* Edit text menu

* Fix alignment

* Scroll functionality

* Fix flake8

* Migrate locales menu

* Fix language translation

* Fix interrupt

* Fix flake8

* Edit mode preset

* Convert print to tui prints

* Fix mypy

* Fix cycling through long menu

* Fix profile view

* Fix scrolling

* Fix scrolling

* Fix mypy

* Fix swiss script

* Display asterisk for passwords

* Corrected a variable usage in the local mirror parsing

* Made sure that curses menu selection on mirrors use url object from mirror.url instead of the class instance

* Fixed mypy type on mirror list

---------

Co-authored-by: Torxed <torxed@archlinux.org>
2024-11-15 08:23:22 +01:00
correctmost 62b4099c8d
Fix whitespace issues detected by flake8 (#2652)
This commit also removes exclusions that are no longer needed.
2024-08-29 01:40:53 +10:00
correctmost c7aeead7d2
Fix various mypy errors in archinstall/lib/ (#2640)
* Fix various mypy errors in archinstall/lib/

* Additional mypy fixes in archinstall/lib/ to pass CI checks
2024-08-28 05:43:54 +10:00
Daniel Girtler b470b16ec9
LVM support (#2104)
* Submenu for disk configuration

* Update

* Add LVM manual config

* PV selection

* LVM volume menu

* Update

* Fix mypy

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update LVM

* Update

* Update

* Btrfs support

* Refactor

* LVM on Luks

* Luks on LVM

* Update

* LVM on Luks

* Update

* Update

* mypy

* Update

* Fix bug with LuksOnLvm and Btrfs

* Update

* Update

* Info -> Debug output
2024-04-15 18:49:00 +10:00
codefiles 5db4456dba
Restrict UKI to supported options (#2280) 2023-12-01 15:59:44 +01:00
czapek e6344f93f7
Fix Limine bootloader deployment (#2216)
* Add `get_unique_path_for_device` to `DeviceHandler`

* Fix Limine bootloader deployment

* Fail if UKI is enabled with Limine

* Support more configuration options with Limine

* Fix linter errors

* Fix boot partition fs_type check for Limine
2023-11-21 10:19:17 +01:00
codefiles bc3b3a35e6
Add support for unified kernel image (#1519) 2023-10-17 11:23:09 +02:00
codefiles 7930ea58fd
Fix install text initialization (#2162) 2023-10-13 18:50:35 +11:00
Daniel Girtler edbc135903
Extend the mypy checks (#2120)
* Extend the mypy checks

* Update

* Update

* Update

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-10-03 18:31:17 +11:00
Alexander Seiler 12b7017240
Fix many typos (#1692)
Signed-off-by: Alexander Seiler <seileralex@gmail.com>
2023-09-18 22:04:36 +10:00
Daniel Girtler 439bb5428b
Fix 1934 - audio server regression (#1946)
* Audio configuration

* Update

* Update schema

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-25 11:17:09 +02:00
Daniel Girtler 2f273868d4
Fix network settings loading from config file (#1921)
* Fix network config error and simplify code

* Update schema and exmaple

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-17 09:27:21 +02:00
Anhad Singh ba9f2eea59
global_menu: wrap invalid config error message with the translation shim (#1908)
* global_menu: wrap invalid config error message with the translation shim

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* validate_bootloader: add a caller note

XXX: The caller is responsible for wrapping the string with the translation
shim if necessary.

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

---------

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>
2023-06-30 20:29:18 +02:00
Anhad Singh a0e4e6ee76
installer: add Limine bootloader (#1815)
* installer: add Limine bootloader

Limine is a modern, advanced, portable, multiprotocol bootloader.

[Limine GitHub](https://github.com/limine-bootloader/limine)
[Limine Arch Wiki](https://wiki.archlinux.org/title/Limine)

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* limine: add UEFI support

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* global_menu: check filesystem and bootloader compatibility

Before on install, only missing configurations were checked. This commit
introduces bootloader validatity checks on install which verify if the
selected filesystem is compatiable with the selected bootloader (for
example, it is not possible to boot limine from BTRFS).

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* misc: fix the return value of `_validate_bootloader`

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* global_menu: make `mypy` happy

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* misc: make `flake8` happy

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* limine: upgrade to v5

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* limine: install packman hooks

Create the BIOS and UEFI pacman hooks so limine gets auto deployed on
update.

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* installer::limine: fix broken root UUID

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* docs: add a note saying its in beta

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

* install_limine: use `safe_fs_type`

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>

---------

Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>
2023-06-30 09:53:53 +02:00
Daniel Girtler c7c34c9e70
Make Gfx driver handling saver (#1885)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-06-21 09:52:48 +02:00
Daniel Girtler 06eadb31d4
Move locales and cleanup menu (#1814)
* Cleanup imports and unused code

* Cleanup imports and unused code

* Update build check

* Keep deprecation exception

* Simplify logging

* Move locale into new sub-menu

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-06-05 10:02:49 +02:00
Daniel Girtler 8a292a163e
Add custom mirror support (#1816)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-15 09:16:18 +02:00
Daniel Girtler 89cefb9a1c
Cleanup imports and unused code (#1801)
* Cleanup imports and unused code

* Update build check

* Keep deprecation exception

* Simplify logging

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-11 18:30:09 +02:00
Daniel Girtler c0a7d45a83
Fix 1792 (#1795)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-07 08:40:44 +02:00
Daemon Coder f0fc6a77f2
Fix NTP option (#1788) 2023-05-06 08:09:34 +02:00
Daemon Coder f211906a5a
Remove obsolete enabling of NTP in ISO (#1729)
* Remove obsolete enabling of NTP in ISO

* Fixed flake8 linting

* Remove `activate_ntp()`

* Update comment

---------

Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-05-04 16:04:35 +02:00
Daniel Girtler 00b0ae7ba4
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>
2023-04-19 12:55:42 +02:00