Commit Graph

2782 Commits

Author SHA1 Message Date
Anton Hvornum 77bfa10d53
Added error handling to fstab (#1045)
* Added error handling to fstab

* Checking the exit code for == 0
2022-03-28 14:43:33 +02:00
Daniel c92c448f29
Fix some mypy things (#1023)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-03-28 14:14:45 +02:00
Patrick Schneeweis c614b3ed55
Clarify prompt text when providing superusers. (#1044)
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-03-28 14:00:34 +02:00
Farhan Ghani f2ad219d8e
added translation for urdu (#1043) 2022-03-28 13:57:04 +02:00
Werner Llácer 4b4473632d
Subvolume User Interface (#1032)
* Deflate the user interactions file

* Fix flake8

* GlobalMenu split from selection_menu.py

* Upgrades to ListManager:
Can now show an empty list if there is no null action.
More information to the user at the header

* Put only_hd.py  and swiss.py to use new config printing mechanism
Solved a couple of bugs at
ListManager adding a str and a DeferredTranslation
ManageUser was missing an self argument in _check ...

* Create list and menus to manage subvolumes in btrfs partitions
Needed to modify manage_new_and_existing_partitions
Added a new parameter filter to select_partition, to allow filtering there

* Update internationalization strings

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-03-28 13:55:15 +02:00
Daniel 3dc0d957e8
Deflate user interactions (#1019)
* Deflate the user interactions file

* Fix flake8

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-03-28 13:49:05 +02:00
Werner Llácer e85c9b6531
Issues with Network Management and user management in menu (#1036)
* A problem with default values treatment at superusers (and users) on the main menu

* Solving issues when changing the selection of nic, ask_to_configure_network failed in several places.
Solved, temporarily with the creation of __getitem__ and get methods at NetworkManager

* Accept old style definitions for nic

* flake8 complains

* log string corrected (issue 1039)

* Correct exit when no disk is selected and we don't wish to continue
2022-03-28 13:44:10 +02:00
Anton Hvornum 69bd88a7f9
Version bump for release candidate of v2.4.0 RC1 2022-03-28 10:43:59 +02:00
Anton Hvornum 8d15683752
Made archinstall build reproducable when generating docs 2022-03-28 09:24:17 +02:00
Anton Hvornum ac0162aba7
Improved color coding a bit. Added 5 more color options (not usable outside of 256-bit enabled terminals) 2022-03-16 21:21:26 +01:00
Werner Llácer a6b1cab077
Additions to Listmgr et alia (#1028)
* Permit multiple default actions as a list

* Define headers for list at ListManager and Menu

* small corrections for default values

* Make subvolume info work.
The real marker that signifies that a mounted subvolume exist is the bracket notation nor the at sign
2022-03-10 09:42:03 +01:00
Eugênio Pacceli Reis da Fonseca f7aba1d31c
Adding sudoers.d file instead of appending to sudoers (#1025)
* Addresses issue #985: Add sudoers.d file instead of appending to sudoers

* Fixed comment

* Added string safety check for illegal chars before attempting to create a file.

* Fixing commentaries

* More fixes to the sudoers.d modification: adds an includedir to sudoers if sudoers.d did not exist previously, waits for python to close and release the new rule file before attempting to set its permissions to 440.

* Regex fix and better code formatting.
2022-03-07 09:15:14 +01:00
Daniel d9d59bee68
Fix #1018 (#1021)
* Fix #1018

* Fix flake8

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-03-03 13:54:43 +01:00
Werner Llácer 47a9fba94b
A couple of corrections for the user interface (#1017)
* Preview size is now an argument for GeneralMenu
Parameter missing in call to save_config

* Update selection_menu.py

Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2022-03-01 12:36:58 +01:00
Werner Llácer 86d991f442
User Management via lists (#1008)
* Fix user/superuser config

* Fix flake8

* Remove timezone check since we have a default value now

* Remove unused

* add new widget ListManager

* flake8 complains

* Null_action appears now in the main list (to simplify additions to the list)
Formatted data are now at the from to the actions submenu

* Manage users thru a ListManagers

* Define a default action in the menu, potentially independent of a null_action
Both default and null actions don't have to be part of the element's action list
Some cleanup

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-02-28 23:11:25 +01:00
Werner Llácer 76a6c37893
Solves issue 1013 (#1016) 2022-02-28 22:38:04 +01:00
Garvit Joshi 6cd20c7ffb
Fixed Readme.md with Absolute Path (#1015) 2022-02-28 19:18:15 +01:00
Anton Hvornum f61bce3fbc
Moved order in .flake8 2022-02-28 17:14:09 +01:00
Anton Hvornum 5cf3fbfb41
Only set presets if presets are given. We should probably fix tghis in selection_menu.py line 636. But this solves an issue with broken harddrive selection for now. 2022-02-28 17:10:28 +01:00
Daniel 35a19a616a
Menu option save config (#1009)
* Add new save config menu option

* Update

* Fixed issue with merging

* Fixed merge issue (I think)

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-02-28 17:03:37 +01:00
Anton Hvornum 04e3880d8f
Added back _ as a builtin 2022-02-28 16:48:42 +01:00
Werner Llácer f07704529f
add new widget ListManager (#1005)
* add new widget ListManager

* flake8 complains

* Null_action appears now in the main list (to simplify additions to the list)
Formatted data are now at the from to the actions submenu

* Define a default action in the menu, potentially independent of a null_action
Both default and null actions don't have to be part of the element's action list
Some cleanup
2022-02-28 16:17:10 +01:00
Daniel 537b9cab03
Rework network config (#1001)
* Update network configuration

* Rework network configuration

* Update documentation

* Fix flake8

* Update

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-02-28 15:57:57 +01:00
Daniel fa87d85708
Fix (some) mypy things (#996)
* Fix mypy things

* Fix flake8

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-02-28 15:45:08 +01:00
Daniel 0fed839110
Rework the user/superuser configuration (#993)
* Fix user/superuser config

* Fix flake8

* Remove timezone check since we have a default value now

* Remove unused

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-02-28 15:42:49 +01:00
komeil Parseh 7e19bf6e2e
Add password strength check (#983)
* Add password strength check

* Delete time.sleep and log, use the select class instead

* Ignore W503 in flake8

* Solve some problems of the password strength check algorithm

Part of the code was written by @phisch. This code tries to measure the strength of the user's password and suggests that the password is weak.

* rename function

* Restore the flake8 configuration file to its previous state
2022-02-28 15:33:09 +01:00
Werner Llácer f06aabb4d4
enhacements to the menu infraestructure (#978)
* Correct definition of btrfs standard layout

* Solve issue #936

* make ask_for_a_timezone as synonym to ask_timezone

* Some refining in GeneralMenu
secret is now a general function

* Revert "Some refining in GeneralMenu"

This reverts commit e6e131cb19.

* Activate load of preset values in GeneralMenu
Changed all select_functions definitions to the need of passing the preset value
Corrected problems at ask_to_configure_network, and management of preset values added

* minor glitches in menu processing, plus flake8 complains

* Changes to ask_to_configure_network following  @svartkanin code

* select_language adapted to preset value.
changes to the infraestructure to solve bugs

* functions adapted for preset values
* select_mirror_regions
* select_locale_lang
* select_locale_enc
* ask_for_swap

* Updated to preset values
* ask_for_bootloader
Won't use it
* set_root_password()

* Updated to preset values
* ask_for_audio_selection
* select_kernel
* ask_for_a_timezone

* Updated to use preset values
* select_ntp
* ask_ntp
* ask_for_swap
flake8 complains

* Adapted to preset values
* ask_additional_packages_to_install (from svartkanin)
* ask_to_configure_network (adapted from svartkanin version)

* Updated to preset values
* ask_hostname
* select_additional_repositories

* bug in nic conversion
_select_harddrives adapted to preset_menu
2022-02-28 15:02:39 +01:00
Daniel 391699497d
Fix #1006 (#1007)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-02-27 07:41:15 +01:00
Werner Llácer 6a0e3d9e4b
Issue992 (#1004)
* Solves issue 992

* flake8 complains

Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-02-23 08:41:03 +01:00
Anton Hvornum 86a21711b5
removed note about EFI being required 2022-02-22 11:24:52 +01:00
Anton Hvornum bb722a36c7
Forgot to .gitignore a debug file
child process debug file
2022-02-22 11:11:17 +01:00
Daniel 4b3b21ed75
Check if pacman is available (#958)
* Check if pacman is available

* Update pacman call

* Added a graceful wait to `run_pacman`

* Fix flake8

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2022-02-18 11:33:28 +01:00
pancho horrillo 62a6aec197
profiles/sway: replace alacritty with foot (#987)
In Sway 1.7, the terminal emulator in the default config file has been changed to foot.

See https://github.com/swaywm/sway/releases/tag/1.7
2022-02-16 11:30:40 +01:00
Daniel 6489a417aa
Fix #966 - DeferredTranslation errors (#976)
* Fix #966

* Add types to parameters

* Update network configuration

* Backwards compability for nic config

* Update

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-02-15 08:44:58 +01:00
Dylan M. Taylor d9118a33b3
Switch from flags to an 'additional repository' menu (#977)
* Add multilib flag to enable this repository and enable multi-lib testing if testing flag is also passed

* Fix comments

* Attempt to force pacman to use the config file from the host

* Make sure the pacman configuration is copied to target

* flake8

* Call enable on additional-repositories

* Add method to select additional repositories

* Add menu option for additional repos

* This is a bit cleaner than having it all on one line

* Add import

* Use [] as default instead of None

* Use empty array for default option here

* Try this to ensure a valid array is returned on skipping

* Add additional-repositories to schema

* Missed changing this comment earlier
2022-02-13 16:30:49 +01:00
Dylan M. Taylor 67b922002a
Set the default timezone to UTC in the menu (#981)
It's already the default, this just keeps the user from needing to make the selection
2022-02-13 10:12:49 +01:00
Dylan M. Taylor 30e518f324
Use archlinux as the default hostname (#979) 2022-02-13 10:12:38 +01:00
Dylan M. Taylor fb72cc4204
Add multilib flag and enable multilib-testing if testing flag is also passed (#975)
* Add multilib flag to enable this repository and enable multi-lib testing if testing flag is also passed

* Fix comments

* Attempt to force pacman to use the config file from the host

* Make sure the pacman configuration is copied to target

* flake8
2022-02-13 10:10:35 +01:00
Dylan M. Taylor 8457aa5660
Set default bootloader based on presence of UEFI (#980)
* Set default bootloader based on presence of UEFI

* Correct a comment
2022-02-13 10:09:05 +01:00
Dylan M. Taylor 2c897cdcc6
Leverage same build system used by PyPi in the ArchInstall ISO (#973)
* Leverage same build system used by PyPi in the ArchInstall ISO

* 3.6.0 is not in the archinstall repos yet. Use 3.5.1 so ISOs don't need networking to build.
2022-02-12 23:43:22 +01:00
Dylan M. Taylor a741b1a530
Don't enable multilib-testing unless we want multilib enabled. (#974)
* Don't enable multilib-testing unless we want multilib enabled.

* flake8

* Rename variable to make code more clear
2022-02-12 23:42:48 +01:00
Dylan M. Taylor 3e6e6b4ec7
Minor: missing space in 'audio server' (#972) 2022-02-12 22:40:05 +01:00
Dylan M. Taylor 532f0fdc3a
Various Build System Improvements (#971)
* Convert workflow from flit to twine for publishing

* This could be split into two different tasks

* Change build-system toml block to setuptools

* Switch to standardized project block

* Some corrections

* Add build module

* Remove symlinks

* Move example and profiles folders to archinstall

* Create symlinks outside of the archinstall folder

* Add new workflow to build archinstall but not publish for regular commits

* Add build artifacts

* Rename, so it's just archinstall.zip

* Replace symlinks with copies

* Also replace symlinks with copies in python-build.yml

* Revert "Create symlinks outside of the archinstall folder"

This reverts commit d76cf18eaa.

* Revert "Move example and profiles folders to archinstall"

This reverts commit c41c1c9102.

* Revert "Remove symlinks"

This reverts commit fd959e3230.

* Switch up how I'm replacing symlinks with copies

* Explore using flit as the build backend still

* Drop tools.flit.metadata block

* tool.flit.scripts is incompatible with project block

* Remove symlink copy workaround

* This seems to cause an error, until I figure it out, license is specified in classifiers.

* Make authors a list of dicts

* URL correction

* Use more of the new style metadata for flit

* This is redundant; build downloads these in a venv

* project.scripts replaces tool.flit.scripts

* whitespace

* Try explicitly adding symlinks as includes

* Minor whitespacce tweaks

* Add newer build packages to ISO

* Update comment on python-build.yml
2022-02-12 22:29:12 +01:00
Dylan M. Taylor c3310d01b7
Modify setuptools configuration to fix development ISOs (#969)
* Testing modifying setup.py to see if it fixes development ISOs

* Update setup.py

* Try this workaround

* This is ugly and I hate it, but it seems to work.

* Drop extra '
2022-02-12 18:58:41 +01:00
Dylan M. Taylor 1df17eb987
Add a flag to install testing repositories (#967)
* Add a boolean to install testing repos, default to false

* More work on adding structure

* Add logic to enable testing repos.

* Corrections

* Make flake8 happy about regex escapes

* Flake8 doesn't like whitespace around equals

* Fix trailing whitespace character
2022-02-12 18:11:34 +01:00
Daniel 003a35be3d
Fix errors on selection of additional packages (#959)
* Fix errors on selection of additional packages

* Fix flake8

* Added the new /groups/search/json/?name=x endpoint merged today

* Fixed flake8 complaint

* Forgot to do json.loads() on the HTTP request result

* Update package selection

* Fix flake8

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-02-12 11:47:51 +01:00
Anton Hvornum 16716d94eb
Added swedish locale (#965)
* Added swedish locale

* Fixed swedish locale
2022-02-12 11:28:18 +01:00
Daniel ca0cdf6b08
Fix dutch translation files (#964)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2022-02-12 00:21:06 +01:00
Anton Hvornum 49a93480a8
Added better error output (based on #963) 2022-02-11 20:26:33 +01:00
Werner Llácer 5990491292
Some refinements to the Menu infraestructure (#962)
* Correct definition of btrfs standard layout

* Solve issue #936

* make ask_for_a_timezone as synonym to ask_timezone

* Some refining in GeneralMenu
secret is now a general function

* Revert "Some refining in GeneralMenu"

This reverts commit e6e131cb19.

* New version of the FlexibleMenu
* Added new functionality to Selector
* Created a GeneralMenu class
* GlobalMenu is made a child of GeneralMenu

* Some refining in GeneralMenu
secret is now a general function

* log is invoked in GeneralMenu directly

* Materialize again _setup_selection_menu_options. Gives more room to play

* Callbacks converted as methods
Synch() (data area and menu) decoupled from enable()
and made general before any run

* Only_hd gets a new implementation of the menu
flake8 corrections

* New version of the FlexibleMenu
* Added new functionality to Selector
* Created a GeneralMenu class
* GlobalMenu is made a child of GeneralMenu

* changes from the rebase left dangling

* Adapt to PR #874

* Adapted to nationalization framework (PR 893).
String still NOT adapted

* flake8 complains

* Use of archinstall.output_config instead of local copy at swiss.py

* Problems with the last merge

* git complains

* Menu admits now preset values and cursor positioning

* Now GeneralMenu moves to the next entry after each selection

* flake8 complains

* Control of limits for cursor position at GeneralMenu

* Make auto cursor positioning optional at GeneralMenu.
True for GlobalMenu

* Code cleanup after rebase, and flake8 complains
2022-02-11 13:22:35 +01:00