Commit Graph

424 Commits

Author SHA1 Message Date
Yash Tripathi fd4b2c97fb
Update custom-command-sample.json 2021-05-27 21:29:14 +05:30
Dylan M. Taylor 26a33000d8 Add descriptions for top-level profiles 2021-05-27 08:11:27 -04:00
Yash Tripathi 2aed8c6ad5 removed builtins usage and added gfx_package key in config 2021-05-24 22:12:25 +05:30
Anton Hvornum 515cd4daf0 Merged in latest changes from master 2021-05-24 12:29:43 +02:00
Anton Hvornum 1c9adbbedf Made sure NTP matches the default value when 'skipped'. 2021-05-23 11:41:55 +02:00
Yash Tripathi 1d04acb603
added pulling sys-language and sys-encoding from config 2021-05-23 13:33:48 +05:30
Yash Tripathi 87955e0ba6
fixed pulling mirror-region from config 2021-05-23 11:56:19 +05:30
Yash Tripathi 9be8a3a998
updated mirror-region config key to use value directly 2021-05-23 11:52:21 +05:30
Anton Hvornum 9ce4370fc7 Fix issue from language selection. 2021-05-22 21:00:59 +02:00
Anton Hvornum a9efdac615 Fix issue from language selection. 2021-05-22 21:00:11 +02:00
Anton Hvornum 1552cc8277 Re-worked the select_profile() user interaction. It no longer takes options as a parameter, instead it sources the profiles available, prints a curated list but allows for any input that is a valid profile. 2021-05-22 20:50:02 +02:00
Anton Hvornum d7e23c847f Added in the option to select system locale if --advance is given to guided, as it does potentially cause issues in the installation if not configured properly 2021-05-22 20:40:20 +02:00
Anton Hvornum d0a37843aa Rephrased according to @dylan's suggestions. 2021-05-22 20:13:59 +02:00
Anton Hvornum 1e53f4a65f Made NTP question only on timezone for now. 2021-05-22 20:10:30 +02:00
Anton Hvornum e3a629a6ff Added a information that ntp might require some additional tinkering to work perfectly. 2021-05-22 20:07:15 +02:00
Anton Hvornum b45efe0983 Adding a NTP option to syncronize time. 2021-05-22 20:04:55 +02:00
Anton Hvornum f789a96348 Added in a are-we-root check at the top of guided. 2021-05-22 19:35:57 +02:00
Dylan Taylor ebf5980943 Add ability to provide an array of services to enable in config file 2021-05-21 09:00:32 -04:00
Anton Hvornum f9ec8f2a27 Merging in latest changes from master and resolved conflicts. 2021-05-21 09:56:42 +02:00
Yash Tripathi 7fefd55a0c fallback added for when profile is null/empty 2021-05-20 18:59:22 -04:00
Dylan Taylor bc58ec047d Re-add profile import 2021-05-20 18:39:36 -04:00
Yash Tripathi cba7dae8f0 fixed creating profile object if profile is passed in vars 2021-05-20 18:38:19 -04:00
Dylan Taylor e6befe53c7 Use {installation.target} in custom commands handler 2021-05-20 17:55:40 -04:00
Dylan Taylor 5652ba20ae Extract custom-commands function into general.py 2021-05-20 17:12:41 -04:00
Dylan Taylor 11c9632322 Clean up temp files after they are run 2021-05-20 16:13:16 -04:00
Dylan Taylor 5d6935f9f2 Add logging of execution output 2021-05-20 15:32:15 -04:00
Dylan Taylor 7811e01a90 Switch back to arch-chroot
This reverts commit 27fa511914.
2021-05-20 15:07:58 -04:00
Dylan M. Taylor c39fc34eab Use temporary script files
Path will be different inside of target env.
2021-05-20 14:19:09 -04:00
Anton Hvornum cf3e47aa44
Swapped the instance sent to Boot() 2021-05-20 16:17:04 +02:00
Yash Tripathi 73e3b99f72 changed "desktop" to "profile" while loading config 2021-05-20 08:44:33 -04:00
Dylan Taylor 5fe3a77aed Update configuration script to work with changes 2021-05-20 08:41:18 -04:00
Dylan Taylor 9c8d55dd76 Merge branch 'master' into post-installation-scripts 2021-05-20 08:13:57 -04:00
Yash Tripathi 86fd64ef8a
fixed desktop install from config 2021-05-20 13:22:58 +05:30
Dylan M. Taylor f137bc4076 Modify custom profile example to try to get it working 2021-05-19 23:12:54 -04:00
Yash Tripathi 7a98ccb9aa Update guided.py 2021-05-19 22:43:27 -04:00
Dylan Taylor 27fa511914 Try to use the new systemd-nspawn code paths 2021-05-19 22:43:27 -04:00
Dylan M. Taylor c03da01412 Run custom commands within bash session 2021-05-19 22:09:27 -04:00
Dylan M. Taylor 592c173767 Iterate over custom-command array 2021-05-19 22:09:27 -04:00
Dylan M. Taylor 7775d877d8 Provide sample configuration file showing how one would use commands 2021-05-19 22:09:27 -04:00
Yash Tripathi bbb4599165
Added support for getting configuration from a config file (#364)
* added support for ingesting config

* fixed condition to check key in dictionary

* Removed redundant code, profile and desktop keys are now optional

* Added base-config.json and support for pulling credentials from .env

* added base config file and env file for users credentials

* added silent install switch

* added python-dotenv as a dependency

* Updated Readme to include argparse changes as well as config ingestion

* Updated Readme to include argparse changes as well as config ingestion

* fixed typo in pyproject.toml

* Replaced the magic __builtin__ global variable. This should fix mypy complaints while still retaining the same functionality, kinda. It's less automatic but it's also less of dark magic, which makes sense for anyone but me.

* Fixes string index error.

* Quotation error.

* fixed initializing --script argument

* added python-dotenv as a dependency

* Installation can't be silent if config is not passed

* fixed silent install help

* fixed condition for ask_user_questions

* reverted to creating profile object properly

* Cleaned up and incorporated suggestions

* added Profile import

* added condition if Profile is null

* fixed condition

* updated parsing vars from argparse

* removed loading users from .env

* Reworking SysCommand & Moving to localectl for locale related activities (#4)

* Moving to `localectl` rather than local file manipulation *(both for listing locales and setting them)*.
* Swapped `loadkeys` for localectl.
* Renamed `main` to `maim` in awesome profile.
* Created `archinstall.Boot(<installation>)` which spawns a `systemd-nspawn` container against the installation target.
* Exposing systemd.py's internals to archinstall global scope.
* Re-worked `SysCommand` completely, it's now a wrapper for `SysCommandWorker` which supports interacting with the process in a different way. `SysCommand` should behave just like the old one, for backwards compatibility reasons. This fixes #68 and #69.
* `SysCommand()` now has a `.decode()` function that defaults to `UTF-8`.
* Adding back peak_output=True to pacstrap.

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Dylan Taylor <dylan@dylanmtaylor.com>

Co-authored-by: Anton Hvornum <anton@hvornum.se>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>

* fixed indent

* removed redundant import

* removed duplicate import

* removed duplicate import

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
2021-05-19 21:31:58 +02:00
Anton Hvornum 49e6cbdc54
Reworking SysCommand & Moving to localectl for locale related activities
* Moving to `localectl` rather than local file manipulation *(both for listing locales and setting them)*.
* Swapped `loadkeys` for localectl.
* Renamed `main` to `maim` in awesome profile.
* Created `archinstall.Boot(<installation>)` which spawns a `systemd-nspawn` container against the installation target.
* Exposing systemd.py's internals to archinstall global scope.
* Re-worked `SysCommand` completely, it's now a wrapper for `SysCommandWorker` which supports interacting with the process in a different way. `SysCommand` should behave just like the old one, for backwards compatibility reasons. This fixes #68 and #69.
* `SysCommand()` now has a `.decode()` function that defaults to `UTF-8`.
* Adding back peak_output=True to pacstrap.

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Dylan Taylor <dylan@dylanmtaylor.com>
2021-05-19 16:45:13 +02:00
Dylan M. Taylor 22fc18dc46 Add mirror reachability check
Needed error handling
Fix internet connection text not showing up and make it red
2021-05-15 22:53:58 -04:00
Dylan Taylor 1796bbb918 Perform refactoring to PEP 8 naming conventions 2021-05-15 17:50:28 -04:00
Dylan Taylor f7642786c9 Remove some redundant parenthesis 2021-05-15 15:18:46 -04:00
Dylan Taylor 4a34b3a9d0 Fix E712 2021-05-15 15:08:50 -04:00
Dylan Taylor 126c7ebfca More formatting fixes to satisfy PEP 8 2021-05-15 15:04:39 -04:00
Dylan Taylor a0cbb31d3e f-string fixes 2021-05-15 14:29:24 -04:00
Dylan Taylor 37484b7423 Split filesystem message into multiple lines 2021-05-15 14:07:13 -04:00
Dylan Taylor 3b20adb7d2 Whitespace changes 2021-05-15 13:59:37 -04:00
Dylan Taylor 5067aaa260 Change mirror get check as suggested 2021-05-15 13:39:12 -04:00
Dylan Taylor 8d4c314966 Switch to using level=logging.DEBUG 2021-05-15 13:35:39 -04:00
Dylan Taylor e111dd9bc1 Final whitespace changes I think 2021-05-15 13:04:18 -04:00
Dylan Taylor 8d39ff4a76 Minor whitespace changes to guided.py 2021-05-15 13:02:19 -04:00
Dylan Taylor 6057203e5b More formatting fixes 2021-05-15 12:59:38 -04:00
Dylan Taylor 69d675f4aa Many more manual changes 2021-05-15 12:29:57 -04:00
Dylan Taylor 5734b6e4a5 Fix f-string is missing placeholders in unattended 2021-05-15 12:13:26 -04:00
Dylan Taylor e950c6af0f Fix f-string is missing placeholders in minimal 2021-05-15 12:12:55 -04:00
Dylan Taylor 14b89e6e25 Fix unused imports in guided 2021-05-15 12:10:32 -04:00
Dylan Taylor 37e818b3d1 More manual fixes 2021-05-15 12:07:46 -04:00
Anton Hvornum 7f81281f59 Removed dupe formatter
There should be no reason to call `.format()` here, since the steps above take care of all formatting.
2021-05-14 21:29:49 +02:00
Anton Hvornum 1abe2c762e Removed targeted /boot formatting. This should be handled and marked earlier in the locig, the partitioning logic should only honor the marked partitions and their status. No need to explicitly format /boot since - if it's meant to be formatted - it should already be marked. 2021-05-14 19:48:39 +02:00
advaithm 69d079e63a
some type hint fixes and a bad catch fix 2021-05-12 15:45:45 +05:30
Anton Hvornum 129ceaea8b Renamed keyboard-language to keyboard-layout to avoid confusion. Added encryption checks for disk layout selection, if disk encryption password is given - but no partitions were found using encryption, the user will be asked which partitions to encrypt - unless there's only /boot and /<root> then we'll automatically select /<root> because that's what we support for now. 2021-05-11 13:37:08 +02:00
Anton Hvornum e6c28a94ee Fixed line-ending issue after using generic_multi_select() 2021-05-11 11:48:44 +02:00
Anton Hvornum 4b6e312cfa Flipped log level logic. 2021-05-11 11:41:43 +02:00
Anton Hvornum 6d5d9a1798 Added Partition() properties: sector_size, start, end, boot, partition_type and a __dump__() function. As well as kept working on the partition logic of guided to have a more traditional workflow of adding/deleting partitions in a guided manner, as well as the ability to mark partitions as encrypted/boot and set target mountpoints. 2021-05-10 14:32:39 +02:00
Anton Hvornum 3e601ff9ab Added a soft-wrapper around parted logic. This logic will guide users through setting up partitions, if they chose to wipe a drive. We'll avoid doing to much auto-magic, and this is just a start. 2021-05-10 10:14:33 +02:00
Anton Hvornum 8925be6c87 Adding in partition layout structure 2021-05-06 15:18:57 +02:00
Anton Hvornum c20be61e12 Removed obsolete variable in prep for multi-disk support. 2021-05-06 14:20:20 +02:00
Anton Hvornum 8bc3dd685e Beginning work on simplifying disk process in guided.py by reducing complexity and code logic. 2021-05-05 15:06:47 +02:00
Anton Hvornum a0947f527a Allow for multiple disks to be selected (to span partitions such as boot across multiple block devices) 2021-05-05 13:56:24 +02:00
Anton Hvornum 469ab8d15a Moved around the function calls to be more logical and separated. Also moved the target-mount -> target-mountpoint as a parameter for the actual installation. 2021-05-04 11:45:21 +02:00
Anton Hvornum ea0d0a8817 Merge branch 'master' of https://github.com/archlinux/archinstall into torxed-partitioning 2021-05-01 12:12:10 +02:00
Anton Hvornum 0ebc6be7ae
Added a postgresql application profile. (#383)
* Added a postgres application profile. Also introducing runas to the arch_chroot of the installation, to run commands as emulated users. This is highly WIP at the moment.

* Fixing top-level-listing of profiles. As well as testing some postgres installation steps.

* Removed dupe functions.

* Added safety check in case a comment mentions the top level profile thing.

* Patching namespace corruption.

* Avoiding runtime collision due to installation not being initiated yet.

* Allow for parameterization of filesystem in guided.

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2021-04-29 13:32:21 +02:00
SecondThundeR 6cfaf30718 Update kernel select
Move select to separate function
Remove 'continue' option
Add hardened kernel as option
2021-04-28 09:41:47 +03:00
Владислав bbe38025fb
Merge branch 'master' into misc-cleanup 2021-04-27 19:01:38 +03:00
Anton Hvornum 090b98b830
Moving away from custom log levels, to something that's well defined. (#360)
* Moving away from custom log levels, to something that's well defined.

* Added backward compability to log() as well.

* Added an option to force log messages out on screen even if the level is below the log level threashold.

* Added force log messages when wrong notation is used.

* Added some more length to the deprecated message

* Swapped all log levels to use logging.<level> instead.

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2021-04-27 16:43:17 +02:00
Владислав 0c6ebc7e80
Merge branch 'master' into misc-cleanup 2021-04-27 15:18:02 +03:00
SecondThundeR 985b7fac3f Revert "Update logging for some functions"
This reverts commit f5b6e7bafe.

Reverting commit due to currently redundant change and merge conflict
2021-04-27 15:14:28 +03:00
Anton Hvornum 5852582bbf Pulled in latest changes from torxed-v2.2.0 2021-04-27 13:33:52 +02:00
Anton Hvornum 2762144e32 Added a failsafe for kernels argument to be defaulted to linux, since 'None' could technically end up here. 2021-04-27 12:39:13 +02:00
Anton Hvornum b6cd5835f1 Reduced complexity in guided for the kernel selection process. 2021-04-27 12:37:16 +02:00
Anton Hvornum 1230fdfe31 Synced latest changes from torxed-v2.2.0. 2021-04-27 12:30:00 +02:00
Anton Hvornum 1be405aa77
Corrected indentation (mixed spaces and tabs) 2021-04-27 12:26:59 +02:00
Aggam Rahamim fa9a08b86d having ability to use multiple kernels - dict fix 2021-04-27 12:40:05 +03:00
Aggam Rahamim e250181317 Merge branch 'master' of https://github.com/AggamR/archinstall 2021-04-25 14:56:03 +03:00
Aggam Rahamim 5c9859d316 having ability to use multiple kernels 2021-04-25 14:55:39 +03:00
advaithm 85e4a85cdb
updated to lastest commit, fixed a conflict 2021-04-24 13:56:35 +05:30
SecondThundeR f5b6e7bafe Update logging for some functions
- Unified view of warning (red) and info (yellow) logs
- Fixed some PEP8 related issues, like removing redundant f-strings and replacing double quotes to single ones
- Removed warning logging level for simple logs
- Removed other background color settings for logs to fully close https://github.com/archlinux/archinstall/pull/171
2021-04-23 01:55:53 +03:00
SecondThundeR 839e945b87 Moved output about base installed packages
This prevents screen from being cluttered if the user enters the wrong package(or packages), allowing only repetitions of prompt to be displayed
2021-04-23 01:03:34 +03:00
Anton Hvornum 3cf8ec7ad6
Added a continuation if partitions are not set yet. 2021-04-22 21:58:47 +02:00
Anton Hvornum 81c57560b3
Fixes #324. 2021-04-22 21:56:52 +02:00
advaithm 15d56c2bc7
merged with master 2021-04-22 16:41:47 +05:30
Anton Hvornum 46b872aa61 Re-working top-level-profile lambda to be a parameter to list_profiles() instead. When skipping a profile, None is returned from somewhere and it causes a glitch. So trying to figure out where and what by cleaning up a bit 2021-04-21 14:37:23 +02:00
Anton Hvornum ccb75f70b9 Merged in latest changes and history from torxed-2.2.0 to avoid odd history in PR #315 2021-04-21 13:10:56 +02:00
advaithm 85c5275a8f
added return true 2021-04-20 21:23:11 +05:30
advaithm 8b723c25e2
changed some strings 2021-04-20 20:36:26 +05:30
advaithm adeae68123
reworked how we remove efimanager and add grub 2021-04-20 19:58:23 +05:30
advaithm 47202d9bf9
moved some stuff 2021-04-20 19:46:22 +05:30
advaithm dbb6d630bd
fixed some issues with adding packages 2021-04-20 19:43:23 +05:30