Commit Graph

57 Commits

Author SHA1 Message Date
BB 3bc248b47f
add niri DankMaterialShell profile (#4554) 2026-05-25 21:13:56 +10:00
Daniel Girtler ac4bc442de
Refactor logging and formatting logic (#4542)
* Refactor logging and formatting

* Refactor logging and formatting

* Refactor logging and formatting

* Updaet
2026-05-19 17:48:03 +02:00
Daniel Girtler b2f413124b
Allow granular plasma configuration (#4389)
* Flexible plasma profile selection

* Update

* Update

* Update

* Update
2026-04-10 07:07:28 +02:00
codefiles a92cd50aec
Remove deprecated __future__ imports (#4393) 2026-04-08 08:11:05 +02:00
Dylan M. Taylor 6c6c8d8000
Stop installing xorg packages for Wayland profiles (#4348)
* Add WaylandProfile to avoid installing xorg packages for Wayland compositors

* Refactor: use composition (is_wayland) instead of WaylandProfile inheritance

* Fix X11 profiles to inherit xorg packages from XorgProfile

* Style: use consistent multi-line super().__init__ for Wayland profiles

* Refactor: replace is_wayland with DisplayServerType enum

Add DisplayServerType enum (Xorg/Wayland) to Profile. All profiles
now inherit Profile directly with an explicit display_server param.
desktop.py installs xorg-server and xorg-xinit for Xorg profiles.
XorgProfile remains for standalone Xorg selection.

* Remove unnecessary super().packages from desktop profiles
2026-04-03 09:38:02 +11:00
Dylan M. Taylor a3c6bd5d45
Use nvidia-open instead of nvidia-open-dkms for mainline kernels (#4347) 2026-04-01 15:24:11 +11:00
Dylan M. Taylor 179d9c7b48
Remove Nvidia proprietary driver option (nvidia-dkms no longer in repos) (#4343)
* Remove Nvidia proprietary driver option (nvidia-dkms no longer in repos)

* Remove libva-mesa-driver (now provided by mesa)
2026-03-31 22:51:57 +02:00
Daniel Girtler e4faba2de0
Convert imports to absolute imports (#4196)
* Enable ruff absolute import check

* Convert all relative imports to absolute

* Update

* Update
2026-02-26 20:17:48 +11:00
Mário Victor Ribeiro Silva 377b3bee97
feat: add `plasma-login-manager` (#4247) 2026-02-19 07:20:13 +11:00
HADEON f736b8c4ec
install gfx before DE/WM/Server (#4238) 2026-02-17 13:19:11 +11:00
codefiles a150a8d9f7
Remove quotes from Installer type annotations (#4136) 2026-01-17 18:52:18 +11:00
codefiles 972e278555
Remove leftover code from unattended script (#4127) 2026-01-15 12:18:47 +11:00
codefiles db6c11345a
Remove superfluous __future__ imports (#4117) 2026-01-12 10:20:07 +11:00
Mariya ba5f924540
fix: enable the cosmic-greeter service (#4023) 2025-12-22 09:07:47 +11:00
HADEON f639290c20
ly.service -> ly@tty1.service (#4006)
* ly -> ly@tty1

* ly -> ly@tty1 with disable getty

* ws

* ws2

* ws3

* ws4

* conditionally disable and define
2025-12-21 21:37:06 +11:00
Vasiliy Stelmachenok daab8e6ff6
Do not re-order amdgpu and radeon modules in mkinitcpio (#3866)
This is not necessary as kms hook for mkinitcpio already takes care
of adding amdgpu and radeon modules.

Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
2025-10-13 09:12:41 +00:00
correctmost 8736926fb2
Update mypy to 1.17.0 (#3671)
This commit also removes a type ignore comment that is no longer
needed after python/mypy#18976.
2025-07-17 12:37:06 +10:00
Daniel Girtler 47f4e63006
Rename profile_model -> profile (#3640) 2025-07-15 09:30:15 +02:00
Daniel Girtler d3f32f308c
Update ruff formatter (#3496)
* Update ruff formatter

* Update
2025-05-24 07:58:42 +00:00
Daniel Girtler 57bd2451e9
Simplify translating of strings (#3479)
* Simplify translation fucntion

* Simplify translation fucntion
2025-05-19 22:33:02 +10:00
Daniel Girtler c67ac97f18
Ruff formatting (#3459)
* Update

* Update
2025-05-15 14:26:41 +02:00
correctmost 4938d79873
Fix a blanket type ignore comment (#3258)
This commit allows the ignore-without-code mypy warning to be
enabled. It also allows the pygrep-hooks ruff rules to be enabled.
2025-03-14 09:06:36 +11:00
correctmost 5f7b16b152
Remove some Any instances from the codebase (#3221) 2025-03-03 08:24:36 +11:00
Daniel Girtler b57f7f91cf
Integrate new arguments data structure (#3167)
* Integrate new args dataclass

* Integrate args

* Update

* Update

* Update

* Update
2025-02-20 07:35:59 +11:00
codefiles 3409f84e79
Use list comprehension (#3105) 2025-01-12 11:30:27 +11:00
codefiles d5c5b60d5c
Rework profiles path (#3040) 2024-12-23 09:08:48 +11:00
correctmost 760963f7a6
Enable the unused-variable pylint rule and fix warnings (#2978) 2024-12-01 17:41:34 +11: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
Daniel Girtler 20cc124a6d
Fix seat-access selection (#2885)
* Fix seat-access selection

* Format import
2024-11-19 14:50:16 +01: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 97d6d84c3c
Replace most Union[] instances with pipe syntax (#2843) 2024-11-18 20:07:14 +11:00
correctmost 0dc77f8e8a
Replace more Optional instances with union syntax in lib/ (#2841) 2024-11-17 11:01:57 +11:00
correctmost 2d6eef4672
Fix redundant-open-modes (UP015) warnings from Ruff (#2828) 2024-11-16 20:52:55 +11:00
correctmost ecad6762e5
Fix some mypy warnings in the lib/ directory (#2822) 2024-11-16 18:27:26 +11: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 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
Anton Hvornum 6d0cf26eba
Added a advanced=bool flag to Profile() class and enabled it on the cosmic-epoch profile (#2619)
* Added a advanced=True flag to Profile() class, to be able to hide certain profiles behind --advanced

* Removed debugging sleep

* Made sure cosmic-greeter was hidden behind --advanced, and cleaned up --advanced checks on Profile()

* storage['arguments'] is not defined during code-init, falling back to sys.argv for cosmic-greeter check
2024-08-22 08:28:16 +02:00
Daniel Girtler 32bc37545e
Upgrade mypy 1.11 (#2588)
* Upgrade mypy 1.11

* Update

* Update

* Remove TProfile type
2024-07-27 07:23:47 +10:00
Martin 0ea6dbbd76
Rename "Kde" profile to the correct "KDE Plasma" / "Plasma" (#2421)
* schema.json: Remove dead misspelled i3-gasp profile

* schema.json: Rename KDE Plasma profile to the correct "Plasma" shorthand

* Rename to KDE Plasma in user facing parts and keep the old "Kde" profile for now

* Add back an accidental deleted character

* Backwards compat v2
2024-04-19 22:47:18 +10:00
Daniel Girtler 5605958b98
Fixes #2262 and GFX rewrite (#2266)
* Rework GFX installation

* Update

* Update

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-11-27 13:31:26 +01:00
Daniel Girtler b0c8f33de6
Fix 2253 (#2259)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-11-24 07:59:12 +01: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
Daniel Girtler 8e40de85fb
Only parse profile classes when loading modules (#2088)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-22 11:43:12 +02:00
Daniel Girtler c75ae97f00
Sort the profiles with ignore case (#2080)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-21 19:48:49 +10:00
Campbell Jones 06d46ac762
Add option to use slick-greeter with lightdm (#1970) 2023-09-15 21:51:36 +10:00
Christian Heusel f270a47f27
add the option to use ly as display manager (#2004)
Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-09-14 22:10:26 +10:00
Daniel Girtler dcf3dfef57
Fix 2035 - Profile configuration (#2036)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-14 20:05:05 +10:00
Himadri Bhattacharjee 1ae1f2ff11
Refactor installer and general design patterns (#1895)
* fix: refactor clear_vt100_escape_codes

* fix: check for structure being a dict after handling potential parsing errors

* refactor: use short circuit logic than if-elif-else chains

* fix: use or for nullish moutpoint attribute

* fix: better error handling for JSON from urls and paths

* chore: json_stream_to_structure documentation

* refactor: dry up relative and chroot path for custom command scripts

* refactor: use write_text for pathlib.Path object

* refactor: use sets to find intersection instead of filter and list

* refactor: replace loop with dictionary comprehension in preparing luks partition

* refactor: use walrus operator to check if luks_handler exists

* refactor: use read_text and splitlines for potential Path object

* fix: use keepends in splitlines for compatibility

* fix: use keepends in splitlines for compatibility

* feat: set pacman_conf Path as an attribute of installer

* fix: empty string is a part of any string, avoid tuples

* refactor: use iterator patterns to uncomment multilib and testing blocks

* fix: don't json.loads an already loaded structure

* fix: use fstab_path uniformly in genfstab

* fix: remove unused variable matched

* refactor: create separate class to modify pacman.conf in a single pass

* fix: remove unused attribute pacman_conf from installer

* fix: remove unused attribute pacman_conf from installer

* feat: add persist method for pacman.conf, rewrite only when needed

* fix: use path.write_text for locale.conf

* use `or` operator for nullish new_conf

* refactor: Installer.target is always a pathlib.Path object, do not check for string type

* fix: use Optional[str] in function type definition instead of sumtype of str and None

* fix: mypy type annotation

* fix: make flake8 happy

* chore: move pacman config and repo into pacman module

* refactor: use Pacman object instead of Installer's pacstrap method

* fix: break after first sync

* fix: keep old build script for now

* use nullish operator for base_packages and disk_encryption of Installer

* feat: use shutil.which instead of rolling our own implementation

* fix: check for binary only if list is not empty

* fix: import Enum and fix mypy errors

* refactor: use nullish operator for default values

* refactor: linear search for key in Installer._trace_log only once

* fix: use logs instead of the entirety of self._trace_log when searching for key

* refactor: do not copy slice of bytes for search

* refactor: use rfind only once to iterate over logs, do not raise ValueError in clear_vt100_escape_codes since TYPE_CHECKING will take care of it.

* refactor: try decoding trace log before falling back to strigification

* refactor: use an empty dict as default for callbacks in SysCommand.__init__

* refactor: use nullish or operator for slice start and end when not specified

* refactor: use nullish or operator for SysCommand session

* refactor: use pre-existing decode method in __repr__ for SysCommand

* fix: overindentation

* fix: use shallow copy of callbacks to prevent mutating the key-value relationships of the argument dict

* refactor: use truthy value of self.session is not None for json encoding SysCommand

* refactor: directly assign to SysCommand.session in create_session since it short circuits to True if already present

* refactor: use dict.items() instead of manually retrieving the value using the key

* refactor: user_config_to_json method sounds pretty self explanatory

* refactor: store path validity as boolean for return

* refactor: use pathlib.Path.write_text to write configs to destinations

* fix: cannot use assignment expressions with expression

* fix: use config_output.save for saving both config and creds

* refactor: switch dictionary keys and values for options to avoid redundancy

* refactor: use itertools.takewhile to collect locale.gen entries until the empty line

* refactor: use iterative approach for nvidia driver fix

* refactor: install packages if not nvidia

* refactor: return early if no profile is selected

* refactor: use strip to remove commented lines

* fix: install additional packages only when we have a driver

* fix: path with one command is matched as relative to '.'

* fix: remove translation for debug log

---------

Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-06-28 13:42:53 +02:00