Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib
AgeCommit message (Collapse)Author
2023-09-22Renamed hyperland to hyprland, fixed seatd via post_installation and added ↵Sxmourai
waybar-hyprland (#1824) * Renamed hyperland to hyprland, fixed seatd via post_installation and installed waybar * Removed the launching of seatd on the installation process * Starting to add nvidia support, and automatic configuring of hyprland * Starting to add auto configuration of hyprland... But this will need maintenance * Added hyprpaper auto config Gonna make waybar auto config next * Waybar auto config is starting... I can't test rn I'm on vacation and my connection is quite bad (68 days for arch iso) * Added wlogout support (and swaylock) * Fixed file managers printing * Starting to add a shell config... Definitely don't push this * Reverted custom-shell config (create a separate PR) * Removed systemd-logind, as that was just for testing the selector * Added polkit as an option for the seat. As it's a dependency of the hyprland package * Flake8 fix * The name change wasn't propegated to the menu * Added newline at the end of general_conf.py to not alter it * Removed newline at the end of general_conf.py to not alter it * Renamed the Hyprland class --------- Co-authored-by: Anton Hvornum <anton@hvornum.se> Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2023-09-22Only parse profile classes when loading modules (#2088)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-21Fix `_add_efistub_bootloader()` partition number with partn (#2084)codefiles
2023-09-21Sort the profiles with ignore case (#2080)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-21Rework `_get_kernel_params()` for `_add_grub_bootloader()` (#2079)codefiles
* Rework `_get_kernel_params()` for `_add_grub_bootloader()` * Remove uncommenting of GRUB config line for encrypted /boot support
2023-09-20Fix acquisition of UUID (#2077)codefiles
* Fix acquisition of UUID * Fix inadequate solution * Add check for UUID
2023-09-20Use `_preset` for defaults in `LocaleMenu` (#2071)codefiles
* Use `_preset` for defaults in `LocaleMenu` * Fix adjacent typos
2023-09-20Use `SUPPORTED` file for locale options (#2069)codefiles
* Use `SUPPORTED` file for locale options * Add glibc to `PKGBUILD` depends
2023-09-19Allow assigning mountpoint on existing partitions (#2067)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-18Add `_get_kernel_params()` (#2064)codefiles
2023-09-18Fix many typos (#1692)Alexander Seiler
Signed-off-by: Alexander Seiler <seileralex@gmail.com>
2023-09-18Refactor `_add_efistub_bootloader()` kernel parameters (#2061)codefiles
* Refactor `_add_efistub_bootloader()` kernel parameters * Remove obsolete comment
2023-09-17Refactor `_add_efistub_bootloader()` cmdline (#2059)codefiles
2023-09-17Refactor `_add_grub_bootloader()` installation (#1968)codefiles
* Refactor `_add_grub_bootloader()` installation * Remove whitespace
2023-09-17fix: make nodatacow and compress mutually exclusive (#1998)Himadri Bhattacharjee
* fix: make nodatacow and compress mutually exclusive * fix: raise ValueError when both compress and nodatacow flags are set
2023-09-17Support CJK text alignment (#2012)Wu Xiaotian
* Add functions for unicode string alignment * use unicode alignment function to show menu * Allow table content to support unicode text alignment
2023-09-17Fix encryption debug message in `_add_efistub_bootloader()` (#1991)codefiles
2023-09-16Added a forced buffer flush on each worker stdin write (#2057)Anton Hvornum
2023-09-15Add option to use slick-greeter with lightdm (#1970)Campbell Jones
2023-09-14add the option to use ly as display manager (#2004)Christian Heusel
Signed-off-by: Christian Heusel <christian@heusel.eu>
2023-09-14fix custom-commands issue #2025 (#2026)Stephen Houser
2023-09-14Correct the simple typo in the comment (#2042)Kazunari Sasa
2023-09-14Rename profile in sub-menu (#2033)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-14Fix 1971 - manual partitioning (#2031)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-14Fix Bootloader installation (#2032)Daniel Girtler
* Fix broken path * Update * Update --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-14Fix 2035 - Profile configuration (#2036)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-14Default to unknown on partition types (#2037)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-31Improve the Chinese, Japanese and Korean text menu layout (#1945)Wu Xiaotian
Before this patch, menus in Korean language would not be aligned: ``` Archinstall 언어 Korean (71%) > Mirrors Locales Defined Disk configuration 부트로더 Systemd-boot 스왑 True ``` After apply this patch, menus in Korean language are aligned: ``` Archinstall 언어 Korean (71%) > Mirrors Locales Defined Disk configuration 부트로더 Systemd-boot 스왑 True ```
2023-07-31Parallel downloads (#1952)Mário Victor Ribeiro Silva
* refactor: remove max_downloads limit * Update parallel downloads * Update parallel downloads
2023-07-31Refactor `_add_grub_bootloader()` configuration (#1962)codefiles
2023-07-30Muted partprobe (#1964)Anton Hvornum
* Muted partprobe * Missing import
2023-07-30Mkinitcpio turn on output (#1963)Anton Hvornum
* Turning on output for mkinitcpio, otherwise the prompt stand still for a while after enabling fstrim. * Added error message for when mkinitcpio errors out (but also say we're continuing) * Pleasing mypy
2023-07-30Adding pack packages to profiles after they were removed (#1956)Anton Hvornum
* Added back xinit for awesome, since it can be used without a greeter, as well as other useful tools we've had in previous releases * Fixing xinitrc for awesome profile * Attempting to grab xorg packages when installing the desktop profile * Spelling error on xorg-server * Fixed sway value error on seat selection
2023-07-26Fix boot loader disk encryption conditional (#1950)codefiles
2023-07-26Let the Chinese translation show in the menu item (#1944)Wu Xiaotian
Even though the translation files exist, we still can't find Simplified or Traditional Chinese translations from the language menu, this patch fixes that.
2023-07-25Fix 1916 (#1920)Daniel Girtler
* Do not stdout when menu is active * Handle missing libfido2 gracefully * Update --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-25Fix 1934 - audio server regression (#1946)Daniel Girtler
* Audio configuration * Update * Update schema --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-25Fix boot partition regression (#1942)codefiles
* Fix boot partition regression * Fix spelling
2023-07-19Uncomment `/etc/locale.gen` entry and use first column for `LANG` variable ↵codefiles
(#1939)
2023-07-17removed str() around objects to be serialized. As None should stay intact ↵Anton Hvornum
rather than become 'None' (#1932)
2023-07-17Fix network settings loading from config file (#1921)Daniel Girtler
* Fix network config error and simplify code * Update schema and exmaple --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-17Refactor `_add_systemd_bootloader()` loader configuration (#1911)codefiles
2023-07-17Enable separate /boot and /boot/esp via XBOOTLDR in systemd-boot (#1859)Anton Hvornum
* Disabled /boot check for now * Making '/boot' more dynamic * str() on boot_partition didn't work * _pacstrap -> pacman.strap() * Added 'finding' the EFI partition logic * f-string qotations * Locked down so get_boot_partition() looks for /boot and get_efi_partition() looks for /boot/efi - essentially hardcoding it for now, as there's no easy way to distinguish between the EFI partition or BOOT partition if they are both FAT32 for some reason. * Added some debugging output * Fixed some mypy complaints * Fixed PosixPath() vs str comparison * Changed FAT32 comparitor, should be FilesystemType.Fat32 now * Fixed PosixPath() vs str comparison * Re-ordered _add_systemd_bootloader() argument order, to match the other functions. This will cause the function to break on scripts that call this explicitly. * is_boot() now returns True if any type of valid boot flags are set, not just the 'Boot' flag. This allows us to check for XBOOTLDR flag as well. * Converted static INT to _ped.PARTITION_<flag> definition. This matches the way pyparted checks for flags on partitions. * /boot/efi -> /boot/EFI (while the recommendation from bootctl is to mount it to /efi, I want to test it with custom paths first) * Removed _ped from mypy checks * flake8 fix * Added ESP flag to partitions * Added more docs in the docstring * Renamed *efi_partition to *xbootldr_partition within this PR changes * Naming collision, PartitionType -> PartitionGUIDs to avoid overwriting existing PartitionType * Check for XBOOTLDR instead of fixed EFI mountpoint in get_xbootldr_partition() * Mixed up XBOOTLDR and EFI partitions a bit, brought back get_efi_partition() which now filters out XBOOTLDR partitions and only returns a partition when there is a boot partition found by get_boot_partition() * Fixed symbiosis between get_boot() and get_efi() so that they don't report the same potential partition * Removed debugging code * Improved comments surrounding why /loader/ rather than /loader/ - this may change
2023-06-30global_menu: wrap invalid config error message with the translation shim (#1908)Anhad Singh
* 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-30Refactor `_add_systemd_bootloader()` entries options (#1909)codefiles
* Refactor `_add_systemd_bootloader()` entries options * Added suggested tweak https://github.com/archlinux/archinstall/pull/1907#discussion_r1247558250 --------- Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2023-06-30Refactor `_add_systemd_bootloader()` entries creation (#1907)codefiles
2023-06-30installer: add Limine bootloader (#1815)Anhad Singh
* 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-29Skip rom devices (#1906)codefiles
2023-06-28Refactor installer and general design patterns (#1895)Himadri Bhattacharjee
* 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-28Fix 1875 (#1880)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>