Commit Graph

588 Commits

Author SHA1 Message Date
Victor Zacarias e24af61e22
Fix examples/config-sample.json and cover the example configs with a test (#4709)
* Fix examples/config-sample.json to match the current config format

The sample config has not been valid since the 2023 disk layout rework
and currently fails to parse, so the file the README points users at
cannot be used:

- sector_size was null, but SectorSize became a required object
- partitions were missing the dev_path key, which the parser reads
- the /home size used the Percent unit, which no longer exists
- /home started at 20 GiB while / ended at 20993 MiB, overlapping it
- gfx_driver kept the old "All open-source (default)" value

Sizes and keys now mirror what the installer itself writes when saving
a configuration.

* Cover the example configs with a parsing test

Nothing in the test suite or CI reads examples/, which is how the sample
config could stay broken for years while every other config surface kept
working. Parse both example files through ArchConfigHandler, and check
the partition entries directly since the parser only reaches them when
the configured device exists on the machine, which is never true in CI.

* Fail the partition test when the example config has none

The loops in test_example_config_partitions would not execute if
device_modifications or a device's partitions were empty, so the test
could pass while checking nothing.
2026-08-13 10:25:05 +10:00
Akilesh A S d38008483e
chore: update examples/config-sample.json (#4569)
TL;DR:
- fix the config for 'parallel download'
- add config for setting color output for pacman
2026-06-06 18:36:50 +10:00
codefiles 9fdd7eb12e
Refactor EncryptionType (#4438)
* Use UPPER_CASE for EncryptionType

* Use StrEnum for EncryptionType
2026-04-17 10:08:23 +10:00
codefiles 7ea171369a
Refactor PartitionType (#4432)
* Use UPPER_CASE for PartitionType

* Use StrEnum for PartitionType
2026-04-16 14:05:08 +10:00
codefiles 2b27e565ae
Refactor ModificationStatus (#4422)
* Use UPPER_CASE for ModificationStatus member names

* Use StrEnum for ModificationStatus

* Replace LvmVolumeStatus with ModificationStatus
2026-04-14 15:37:14 +10:00
codefiles 335a7b792c
Refactor FilesystemType (#4417)
* Use UPPER_CASE for FilesystemType member names

* Use StrEnum for FilesystemType

* Use FilesystemType member values
2026-04-13 18:41:59 +10:00
Daniel Girtler b186fb3f64
Async menu (#4308)
* Move to async TUI

* Update

* Update
2026-03-16 10:39:36 +11:00
codefiles 972e278555
Remove leftover code from unattended script (#4127) 2026-01-15 12:18:47 +11:00
HADEON 2954e4397b
Feat: Zram algorithm config (#4042)
* Add configuration for swap algorithm. Backward compatible implementation

* Fix interaction to default to Yes and show (default)

* Fix mypy error

* Any -> str, str

* feedback Enums

* test file

* line length warning

* Renames

* Fix default values in TUI menu for display

* Address feedback

* More feedback, really appreciate it.

* Adapt to use same | None = None pattern

* Pytests

* Add missing import for Zram
2025-12-30 15:52:35 +11:00
Gabriel A Hernandez 7398e2785d
Typo and grammar fixes (#3970)
* Menu now filters and sorts using priority, improving UX.

* Refactor: improve logic, removed redundancy

* Refactor: improve logic, removed redundancy

* Typo and grammar fixes

* Typo and grammar fixes

* Fix comment formatting in .gitlab-ci.yml

* Fix comment

* Removed code from separate pull request

* Update menu_item.py

* removed white space

* Remove unnecessary blank lines in menu_item.py

>:(
2025-12-06 20:06:07 +11:00
Mintsuki eb815d817f
Add dialog to install EFI bootloader to removable location (#3932)
* Add dialog to install EFI bootloader to removable location

This is just for GRUB and Limine for now.

* Move bootloader removable and UKI selections to bootloader submenu

* Update ask_for_bootloader_removable() prompt for ease of translation

* Fix issue where removable and UKI options were always enabled at first

* Minor cosmetic fixes to bootloader removable code

* Add has_removable_support to Bootloader

* Validate UKI and removable options in installer

* Use has_removable_support() where appropriate

* Fix potential AttributeError when bootloader_config is None

* Set default value for bootloader configuration menu item

* Update documentation after EFI removable/Limine changes

* Update limine.conf and non-removable location paths (as per Wiki)

* Do not create fallback boot menu entries when using UKIs on Limine

* Remove useless ask_* wrappers in bootloader_menu

* Improve bootloader menu previews

* Make bootloader menu __init__.py empty
2025-11-21 11:41:24 +11:00
Guillaume BOEHM 0cebaa00f7
Fix documentations and samples mentioning `custom-commands` instead of `custom_commands` (#3745) 2025-08-16 11:59:18 +10:00
Daniel Girtler 47f4e63006
Rename profile_model -> profile (#3640) 2025-07-15 09:30:15 +02:00
Daniel Girtler 96aaf5b6ac
Rename module device_model -> device (#3639) 2025-07-15 09:29:58 +02:00
Daniel Girtler cdb1debe2e
Move disk encryption into disk config menu (#3502) 2025-05-25 21:23:37 +10:00
Daniel Girtler d3f32f308c
Update ruff formatter (#3496)
* Update ruff formatter

* Update
2025-05-24 07:58:42 +00:00
Daniel Girtler 4c065c3698
Symlink example files to actual scripts (#3495) 2025-05-23 13:09:42 +02:00
Daniel Girtler 790a7a2be9
Fix 3474 (#3476)
* Fix 3474 - Parse mountpoint correctly

* Fix 3474 - Parse mountpoint correctly

* Update
2025-05-19 10:59:42 +02:00
Daniel Girtler c67ac97f18
Ruff formatting (#3459)
* Update

* Update
2025-05-15 14:26:41 +02:00
correctmost 9c633924ba
Remove extraneous inline type annotations (#3418) 2025-04-30 08:31:28 +10:00
Anton Hvornum 16e9bbe583
Removed the @.snapshots volume in order to support both Snapper and Timeshift #3363 (#3408) 2025-04-26 11:57:36 +02:00
Daniel Girtler 2f18b8d2fe
Fix 1747 | Additional post-installation menu options (#3393)
* Provide more post installation options

* Update
2025-04-16 07:31:49 +10:00
Daniel Girtler 4f1d1b4739
Store password as hash instead of plaintext (#3276)
* Rework user password to be hash

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Generate yescrypt hash

* Update

* Update

* Update

* Update
2025-04-08 08:53:18 +02:00
Daniel Girtler bae0e29e18
Fix #3330 (#3360)
* Fix #3330

* Update
2025-04-08 08:46:19 +02:00
correctmost d43482e585
Move run_custom_user_commands to fix an import cycle (#3254) 2025-03-26 08:13:18 +11:00
Daniel Girtler 697ccd1ac5
Fix 2379 - Mirror and region definitions (#3223)
* Fix 2379 - Mirror and repository settings

* Fix alignment
2025-03-05 22:19:50 +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 459b84b6fe
Rework mount point argument (#3041) 2024-12-23 11:04:16 +11:00
correctmost 60842bd1cf
Enable bare-except linter rules and fix warnings (#2988) 2024-12-01 18:34:51 +11:00
codefiles bda0752eec
Change partition flag name Boot -> BOOT (#2903) 2024-11-21 12:22:50 +11:00
codefiles 7fd726f03f
Fix log disk states (#2902) 2024-11-21 10:50:43 +11:00
codefiles 83d222cec6
Rework partition flag (#2895) 2024-11-20 07:55:09 +01:00
correctmost 0aa6dcc78e
Sort and format imports in examples/ and default_profiles/ (#2873) 2024-11-19 07:54:17 +11:00
correctmost 8cda091e6d
Start replacing Optional with union syntax (UP007 rule in Ruff) (#2836) 2024-11-17 09:02:08 +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
Vincent 26cf04655a
Document LUKS encryption password in creds-sample.json (#2782) 2024-11-08 07:35:50 +11:00
Vincent 7098a6a848
Document network config in config-sample.json (#2781)
Specifically document the CIDR notation of the IP address
2024-11-07 16:17:32 +01:00
Vincent 11987a06d6
Update config-sample.json to comply with the requirements for version 2.8.6 (#2754)
I did not add the 'dev_path' key to each one of the partitions, as this may not be required in the 'default_layout' section, but it was required in my configuration when I chose 'manual_partitioning'.
2024-11-04 14:35:44 +01:00
correctmost 7b5f1f72f9
Expand mypy checks to include more files and more checks (#2651)
This commit also centralizes the mypy configuration in one spot.
2024-08-29 00:39:22 +10:00
Daniel Girtler aa87fb1db5
Strict mypy - Phase 1 (#2533)
* Strict mypy for examples/
2024-06-13 21:35:54 +02: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 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 2a33d7cd97
Set keyboard layout in minimal installation (#2399) 2024-03-10 09:34:32 +01:00
Daniel Girtler f927fb6e6a
Fix 2307 - Custom mirrors (#2350)
* Fix 2307 - Custom mirrors

* Update
2024-03-07 14:43:16 +01:00
codefiles 717a22371f
Fix `mountpoint` for pre-mounted disk configuration (#2113)
* Fix `mountpoint` for pre-mounted disk configuration

* Add missing commas
2023-09-26 10:57:45 +02:00
Daniel Girtler b141609990
Fix 1669 | Refactor display of sizes in tables (#2100)
* Use sector as default display

* Display tables in sector size

* Refactor size

* Update

* Update

* fix flake8

---------

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-24 19:47:38 +10: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 3ba1a3718e
Fix 1973 - pipewire (#2030)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-09-14 19:59:32 +10:00