Commit Graph

3195 Commits

Author SHA1 Message Date
Daniel Girtler be7ffbdd7e Update 2023-09-05 21:38:56 +10:00
Daniel Girtler bcf1eb3e36 Update 2023-09-05 21:32:30 +10:00
Daniel Girtler d93bf84e59 Fix github action 2023-09-05 21:21:08 +10:00
Hugo Carvalho 81ef09c336
Fix and update Portuguese translation (#1972) 2023-08-02 12:27:47 +02:00
Pedro Chaparro f7604c81a6
Translate: Add some missing Spanish translations (#1969)
* feat(locales/es): Add some missing spanish translations

* feat(locales/es): Run `locales_generator.sh` script to update the `base.mo` file

Follow the `archinstall/locales/README.md` instructions to add / update languages.

* feat(locales/es): Add some new missing translations

* feat(locales/es): Run `locales_generator.sh` script to update the `base.mo` file
2023-07-31 20:45:32 +02:00
Hasan Oruc 0852a7cacb
Updated and corrected translation. (#1910)
* Updated and corrected translation.

* Updated and corrected translation.
2023-07-31 09:41:26 +02:00
Himadri Bhattacharjee f8d2690920
move preview text method for profiles into xorg superclass, override when needed (#1918)
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-07-31 09:40:45 +02:00
Wu Xiaotian d878496a2f
Improve the Chinese, Japanese and Korean text menu layout (#1945)
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-31 09:39:06 +02:00
Mário Victor Ribeiro Silva 9cbb2b7594
Parallel downloads (#1952)
* refactor: remove max_downloads limit

* Update parallel downloads

* Update parallel downloads
2023-07-31 09:38:42 +02:00
codefiles 7dd95f8c69
Refactor `_add_grub_bootloader()` configuration (#1962) 2023-07-31 09:38:29 +02:00
Anton Hvornum ada1ffeaad
Bumping version (#1965) 2023-07-30 23:44:52 +02:00
Anton Hvornum 3cea9baff6
Muted partprobe (#1964)
* Muted partprobe

* Missing import
2023-07-30 23:40:40 +02:00
Anton Hvornum a1ad25ff45
Mkinitcpio turn on output (#1963)
* 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-30 22:08:51 +02:00
Wu Xiaotian 355a0dbe06
Update Simplified Chinese translation (#1943) 2023-07-30 09:59:31 +02:00
Anton Hvornum a43344c5ae
Adding pack packages to profiles after they were removed (#1956)
* 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-30 00:28:21 +02:00
codefiles 29b5280725
Add `awesome` package to Awesome profile (#1954) 2023-07-29 12:20:55 +02:00
codefiles 7326d51161
Fix boot loader disk encryption conditional (#1950) 2023-07-26 15:22:01 +02:00
Wu Xiaotian 1af21c3e95
Let the Chinese translation show in the menu item (#1944)
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-26 09:19:45 +02:00
Alexmelman88 08b84d239c
Update Russian translation (#1947) 2023-07-25 13:29:22 +02:00
Mário Victor Ribeiro Silva 728e5773e9
feat: add more translations (#1936) 2023-07-25 13:24:57 +02:00
Daniel Girtler a548d7df70
Fix 1916 (#1920)
* Do not stdout when menu is active

* Handle missing libfido2 gracefully

* Update

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-07-25 11:19:14 +02: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
codefiles d76f4a0296
Fix boot partition regression (#1942)
* Fix boot partition regression

* Fix spelling
2023-07-25 11:16:02 +02:00
codefiles 69c37e7c79
Uncomment `/etc/locale.gen` entry and use first column for `LANG` variable (#1939) 2023-07-19 08:49:40 +02:00
Anton Hvornum e41900a25c
removed str() around objects to be serialized. As None should stay intact rather than become 'None' (#1932) 2023-07-17 10:13:22 +02:00
Anton Hvornum 10fca1611d
Added some debug output to see why the locales check errors out on no bash script (#1931) 2023-07-17 09:34:10 +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
codefiles c67bb0b549
Refactor `_add_systemd_bootloader()` loader configuration (#1911) 2023-07-17 00:17:21 +02:00
Anton Hvornum afaf42e646
Enable separate /boot and /boot/esp via XBOOTLDR in systemd-boot (#1859)
* 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-07-17 00:14:44 +02:00
Anton Hvornum 21735c57ca
Added missing python-simple-term-menu (#1919) 2023-07-05 14:17:39 +02:00
uranderu 64fc585fa7
Update README.md (#1755)
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-06-30 20:37:39 +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
codefiles 10fc344097
Refactor `_add_systemd_bootloader()` entries options (#1909)
* 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-30 20:27:49 +02:00
codefiles a04e68495b
Refactor `_add_systemd_bootloader()` entries creation (#1907) 2023-06-30 14:36:38 +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
codefiles ffb9366280
Skip rom devices (#1906) 2023-06-29 15:33:14 +02:00
Anton Hvornum 58bccccd5d
Revert "Created dwm.py (#1902)" - This reverts commit 2450c7bdff. (#1905) 2023-06-29 09:49:22 +02:00
Anton Hvornum 025ee8f064
Fixed indentation issues from #1902 (#1904) 2023-06-28 23:07:25 +02:00
Sumit Patel 2450c7bdff
Created dwm.py (#1902)
Created dwm.py for suckless users.
2023-06-28 20:04:32 +02:00
codefiles 0785b35eb4
Bump Python in workflow (#1863)
* Bump Python in workflow

* Attempting fix to build runner failing

* Appended --break-system-packages since the new changes was introduced in Arch

---------

Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-06-28 14:51:07 +02:00
Anton Hvornum 5b102b0228
Adding python-simple-term-menu to the dependency list (#1901)
* Adding python-simple-term-menu to the dependency list

* Added dependencies to all binaries we call, such as 'ps' and 'mkfs' etc

* Sorted the depends list - just for peace of mind

* Bumped version in prep for release of rc1, also updated README a bit

* Removed older python versions from classifiers
2023-06-28 14:22:07 +02: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
Daniel Girtler 57ebc42ffd
Fix 1875 (#1880)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-06-28 13:34:54 +02:00
Rodrigo Broggi 82a5320764
Document new pip install flag (#1897)
See [this thead](https://github.com/archlinux/archinstall/issues/1734#issuecomment-1605709792) 

Including `--break-operating-system` flag in `pip install` instructions in doc.
2023-06-25 11:06:52 +02:00
Himadri Bhattacharjee 27a474ed4a
fix: define ret as Optional[str] before reassignment in get_fido2_devices (#1894) 2023-06-23 09:46:30 +02:00
ArtikusHG 748f03cdb1
Fix crash when libfido2 is not installed (#1893)
Co-authored-by: ArtikusHG <artiomoleynic@gmail.com>
2023-06-22 22:49:08 +02:00
Himadri Bhattacharjee 72661dbf9b
Simplify object serialization before JSON encoding (#1871)
* fix: check for helper functions for unsafe encode before falling back to safe encoding

* feat: merge _encode and _unsafe_encode into simple serialization function to avoid immediate json.loads after json.dumps

* fix: use function instead of a serializing class without trying to serialize keys that are unhashable or unsupported

* feat: lazily evaluate serialized value based on key validity

* feat: use dictionary comprehension and predefined compatible types

* fix: handle enum types immediately after dicts

* fix: return stringified object as a default

* doc: update function docstring for serialize_to_dict

* fix: rename serialize_to_dict to jsonify as it serializes to other primitive types as well
2023-06-22 14:09:14 +02:00
mosfet80 23f98082cc
Update autoflake (#1889) 2023-06-21 09:55:17 +02:00
Daniel Girtler 885f89c3a1
Rename encryption method (#1888)
* Rename encryption method

* Update

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-06-21 09:54:42 +02:00
Diogo Silva 4eae8f656f
chore: update translation for pt_BR (#1886) 2023-06-21 09:53:29 +02:00