Commit Graph

326 Commits

Author SHA1 Message Date
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 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
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
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 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 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
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