Commit Graph

577 Commits

Author SHA1 Message Date
Anton Hvornum 364bc23b48
Updated configuration example "custom commands" 2022-02-02 08:22:08 +01:00
Werner Llácer e3adab13e8
Issue923 (#927)
* Correct definition of btrfs standard layout

* Solving issue 923.
Standarize keyword "wipe" to signal the need of formatting a FS

* flake8 complains
2022-02-01 16:44:39 +01:00
Timothy Pidashev 179c103cdd
Synchronize `archlinux-keyring` when running guided.py (#917)
* Update guided.py

* Update guided.py

* Update guided.py

* Fix typo

* Format string properly; elaborate log msg

* Make change consistent to mirror-check

* Update documentation
2022-01-30 11:01:04 +01:00
Dylan M. Taylor 90e320dd11
Allow mirror reachability check to be skipped (#910)
* Allow network check to be skipped

* Technically it is a mirror check - not a check for general connectivity
2022-01-26 07:53:38 +01:00
Thomas 34488d25c5
Disable zswap (#883)
Disable zswap when using zram.

The swap device is now initialised before the bootloader, inline with the
installation guide.
2022-01-20 17:49:18 +00:00
Werner Llácer 3d30a4eb28
Missing arguments after GlobalMenu execution (issue #868) (#871)
* Install.__init__ parameter kernel as a list everywhere.
I've dropped the string check, as it shouldn't happen again, and it's good that it fails, when it happens

* Global Menu now loads in the arguments dict all options enabled with default value and no manually selected (issue #868)
2022-01-15 21:44:13 +01:00
Werner Llácer 31f55e8d6b
Activate file write into only_hd and upgrade to guided.py level (#867) 2022-01-15 14:20:06 +01:00
Anton Hvornum da0c08e79a Added in version history in the configuration 2022-01-14 12:54:22 +01:00
Anton Hvornum f175ea8b7d
Created a save_user_configurations (#856)
* Created a save_user_configurations

This should avoid accidental placement of individual json outputs in a way that some doesn't get saved before installation continues etc.

* Was looking for disk_layouts in the wrong place.
* changed numerous other references to disk_layouts looking in the wrong place.
2022-01-14 11:48:56 +01:00
Daniel 1234261a7a
Global menu (#806)
* Global menu

* Fix flake8

* Refactor code

* Add documentation

* Fix flake8

* Add support for user flow mentioned in #799

* Move import

* Fix flake8 (again)

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-07 10:48:23 +00:00
HTV04 08d7375e62
Fix partition layout (#794)
* Fix partition layout

* Tweaked the numbers to match the alignment of previous partitions.

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-07 09:55:51 +00:00
Werner Llácer b63cf7cb15
- No treatement of disk_layouts_file (#844)
- Ordered exit
2022-01-06 23:27:56 +01:00
Ilario Gelmetti 3474176e64
examples/guided: if selected, activate NTP also in installer system (#831)
* Ask for NTP even if timezone is unset
* Ask for NTP before retrieving mirror list
* Activate NTP in the installer as soon as asked
* Removed excessive import
SysCommand is exposed through archinstall
* Removed f-string

Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2022-01-02 22:45:44 +01:00
Anton Hvornum 240f688cce Adding a Pipewire application profile (#821)
* Adding a Pipewire application profile

This to better manage the pipewire setup process and minimize guided a bit. This also adds the concept of @archinstall.plugin decorators to add a plugin in run-time. Which pipewire uses to detect user creation and enable the pipewire-pulse service for new users.

* Forgot to run .install() on pipewire Application()
* Backwards compatible variable insertion for installation session
2022-01-02 16:38:02 +01:00
Anton Hvornum 93aa4aa6cc
Fix inspired by #804 to tweak the fix in v2.3.1-dev 2022-01-02 14:14:00 +01:00
Anton Hvornum b1af3eda83 Fixed issue #799. Where user prompt wouldn't be shown if a root password was set. 2022-01-02 14:11:00 +01:00
Werner Llácer b89408ab7b
Improved command line argument parsing (#725)
* An update to PR 715, making the handling of the *--mount-point* parameter less error prone.
I added a synomym (accepting the name both with underscore and dash) and ignoring when no value specified
I added it explicitly to the list to accept both the --parm value and --parm=value syntax
DOES NOT check the contents of the parameter
* Explicitly set all the know parameters
* Define explictly all parameters.
Make all non explicitly defined parameters behave as standard parameters, with on exception, names are not changed
Some cleanup of the code
In guided.py the reference to the dry_run parameter is updated to the standard naming convention for parameters
* Linter with flake8. corrections
* Linter with flake8. corrections (II)
* Linter with flake8. corrections (and III)
* Added --disk_layout argument. Was missing
I moved its loading from guided.py to __init__.py as it happens to the other json related arguments
* Better handling of errors during processing of the --disk_layouts parameter.
I define a routine to read an store a JSON file or stream. Tested on disk_layout
* Expand the former commit to all JSON file arguments
* Moved the function we created to read json files/streams to general.py. Add some comments
* flake8. A reference now unneded
* The merge process for the dry-run argument was causing the issue, not solving it
The del is just a cleanup for version upgrade without consequence (I hope)
* flake8 warning
* Correcting the last correction . Worked for old config files, but only for them
* New parameter parsing algorithm. More flexible and accepts multiple arguments (optionallY)
plus some documentation effort
* flake8 warning. For once is significant ( != None to not None)
2022-01-02 12:28:49 +01:00
Werner Llácer e388537bc3
better handling the skip partitioning option. (#778)
* better handling the skip partitioning option. plus sending some warnings to the user
* device configuration options taken out from ask_user_questions.
Forced by flake8
* Revert "device configuration options taken out from ask_user_questions."
This reverts commit 1b3cffb3df.
* Adapted to new selection ui
* Cleanup of obsolete code
* Changed colour of skip messages from red to yellow
* Flake8 comments
2022-01-02 12:01:19 +01:00
Werner Llácer 7f9b7991e9
Btrfs2 (#787)
* All the changes needed to make btrfs subvolumes work. It boils down to two points;
the handling of the addressing of subvolumes re. physical partitions, and the small changes at the bootloader level
* We added a new script only_hd for testing purposes. It only handles hadrd drive management
* restoring an escape hatch during subvolume processing
* hipercommented manage_btrfs_subvolumes
* Ready to be able to select and process options in subvolume mounting
* Separte nodatacow processing
* Solving a flake8 complain
* Use of bind names @ get_filesystem_type
* compress mount option bypass
* Preparations for encryption handling
* Compatibility to master version re. encrypted btrfs volumes
* Now we can create subvolumes and mountpoints inside an encrypted btrfs partition
* changes for entries file generation with systemd-bootctl
* flake8 corrections plus some comments

Co-authored-by: Anton Hvornum <anton@hvornum.se>
2021-12-31 13:47:41 +01:00
Anton Hvornum cad911893d
Bringing in changes from v2.3.1-dev branch. This fixes a selection of things mentioned in #819. 2021-12-31 12:33:01 +01:00
Daniel 908c7b8cc0
Add simple menu for better UX (#660)
* Add simple menu for better UX
* Add remove external dependency
* Fix harddisk return value on skip
* Table output for partitioning process
* Switch partitioning to simple menu
* fixup! Switch partitioning to simple menu
* Ignoring complexity and binary operator issues
Only in simple_menu.py
* Added license text to the MIT licensed file
* Added in versioning information
* Fixed some imports and removed the last generic_select() from user_interaction. Also fixed a revert/merged fork of ask_for_main_filesystem_format()
* Update color scheme to match Arch style better
* Use cyan as default cursor color
* Leave simple menu the same

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
2021-12-02 21:17:51 +01:00
Anton Hvornum 5aaa8d9814 Adds version to user_conf.json
The key is never read anywhere, but would be useful in debugging purposes.
2021-11-28 11:31:23 +01:00
Anton Hvornum 87e75a7d09 Updated examples, fix #772 2021-11-26 14:24:47 +00:00
Anton Hvornum 070d088462
Added error handling to guided surrounding disk_layouts 2021-11-24 21:33:53 +01:00
Dylan Taylor 04c2b19dbe Fix error at end of installation from missing method import 2021-11-23 15:27:02 -05:00
Dylan M. Taylor 72d02a391d
Add accessibility packages to installed system if using the on the live ISO (#760)
* Add group of accesibility tools
* Conditionally extend base packages
* Enable it if accessibility in use in guided
* Fix circular import
2021-11-23 21:10:21 +01:00
Anton Hvornum 6b6c9c84be
Adding a warning when /boot is reasonably too small (#738)
* Moved convert_size_to_gb() into disk/helpers.py, Added a Partition().size property meta function. Using the .size value to check if /boot is too small which will raise an exception. The only drawback is that it's done post-formatting. This in order to catch scenarios where formatting isn't used.
* Changed /boot warning from 0.15GB to 0.25GB
* Changed the wording in the warning when /boot is too small.
2021-11-23 11:37:51 +00:00
Dylan Taylor 45ba4a3f1b Rewrite bootloader selection to allow efistub if advanced flag is set 2021-11-22 20:25:43 -05:00
Dylan M. Taylor e532b76158
Make NTFS an advanced option (#753)
* Make NTFS an advanced option
2021-11-22 21:08:41 +01:00
Anton Hvornum 29d0b3d155
Simplified size definition in dict. (#752)
* Simplified size definition in dict. Also changed from MiB to MB and GiB to GB on places where they were used, as BlockDevice().size now returns GB by default, so no math operations needed
* Appended the /boot offset to /root when specifying /home start.
2021-11-22 11:27:49 +00:00
Anton Hvornum 66e23af422
Merge PR #739 - Added @staticmethod decorators
source code improvement
2021-11-20 22:21:00 +00:00
Anton Hvornum 627b6b5207
Incorrect location usage of AVAILABLE_GFX_DRIVERS
#710
2021-11-20 10:32:28 +01:00
Steven Lee 91d030a09c
source code improvement 2021-11-19 14:09:47 +11:00
Anton Hvornum b22500babd Removed assumptions that !user and !super-users exists. 2021-11-11 18:59:53 +01:00
Anton Hvornum ad09c8cfa2 Bad copy paste of code prohibited credentials from being stored. 2021-11-11 09:59:22 +00:00
Anton Hvornum 813afa1507 Only adding disk encryption to user_credentials.json when supplied. 2021-11-11 09:43:06 +00:00
Anton Hvornum 71a86f65aa Forgot the disk encryption password, also escaped with ! 2021-11-09 19:01:48 +01:00
Anton Hvornum 389aa1080b Adding in storage of user supplied credentials. This separates credentials from user_configuration.json into user_credentials.json. As well as the JSON serializer will omit the credentials from the user_configuration.json by detecting ! in the dictionary keys (which is why they are important). UNSAFE_JSON will leave those keys in there, good for storing credentials in a separate file." 2021-11-09 17:43:28 +01:00
Anton Hvornum d1716eeeef Revert default automatic hostname in user_config.json, I realized it's better to use --silent than forcing something in there. Some users might want to get poked on every machine. 2021-11-09 17:20:48 +01:00
Anton Hvornum 07255391cc Automatically fill the hostname in user_config.json 2021-11-09 17:16:25 +01:00
Anton Hvornum dbe8ce9982
Fixed broken import from master 2021-11-05 22:04:45 +01:00
Anton Hvornum a5730dec85
Misspelled variable name 2021-11-05 22:03:24 +01:00
Anton Hvornum 0067e34970
Merged latest master 2021-11-05 21:37:40 +01:00
Anton Hvornum 93efce92a9
Renamed the ntp function, as it doesn't install/enable ntp any longer. Even tho it uses the NTP protocol. 2021-11-05 17:03:07 +01:00
Anton Hvornum 0071a06908
Merged PR #650 - flake8 fixes and tightening
Tighten up flake8 tests used by GitHub Action lint_python
2021-11-05 15:48:03 +00:00
Anton Hvornum 2fcd8198b2
Cleaned up all flake8 issues/warnings. Did some code cleaning as well, mostly how we called things in guided.py but also some SysCommand calls 2021-11-05 16:27:01 +01:00
TheEvilSkeleton 675db53f1d
Fix typos 2021-11-02 12:01:07 -04:00
Anton Hvornum b4eb8557f5 Adding support for swap on zram 2021-11-01 09:59:32 +00:00
Anton Hvornum 2a2239dd03 Merge branch 'master' of https://github.com/archlinux/archinstall into torxed-fix-93 2021-10-30 20:36:21 +02:00
Anton Hvornum 05a8739231
Wrong exposed variable corrected. 2021-10-30 12:02:00 +02:00
Anton Hvornum 7149b76f3b
Forgot some imports that didn't show up on a static run without going through a few of the menu's 2021-10-22 21:54:16 +02:00
SecondThundeR ffe38c879a general: remove all found white-spaces
Also this change adds new line at the end for some scripts
2021-09-19 15:49:44 +03:00
Anton Hvornum ed823be3ba Refactoring and cleaning up a bit
I'm making sure that the JSON structure of the user config can get a say in how the subvolumes should be used later on. As well as splitting up where the logic should be to make it easier to maintain.
2021-09-18 15:52:29 +02:00
Anton Hvornum 6a125d5bd2 Adding in options for BTRFS subvolumes 2021-09-18 11:22:18 +02:00
Anton Hvornum 9e67ce3f05 Making sure the drive paths are in the JSON structure, and not the class object, as it won't work seamlessly to access for instance storage['disk_layouts'][ClassInstance()] if it's not the identical mem copy of the object we're accessing, so strings are better for storage/comparisons. 2021-09-15 20:11:40 +02:00
Anton Hvornum 70af00f33d Tweaked the logic for parsing the --harddrives parameter. 2021-09-15 19:23:35 +02:00
Anton Hvornum e6549c1edb Fixing type issue with conversion to multiple disk logic. 2021-09-15 19:17:32 +02:00
Anton Hvornum 2cfbafc653 More error handling and fixed a spelling error. 2021-09-15 19:16:30 +02:00
Anton Hvornum 1a7056efc4 Might be redundant, but if the JSON file given to --config contains a list it will break the .split(), but if --harddrives is given as an argument, then we need to split. So adding a type-check 2021-09-15 19:09:57 +02:00
Anton Hvornum d6acfec799 Updating support for --disk_layouts. It now supports file paths as well as JSON in string format via --disk_layouts=<json> 2021-09-15 19:01:14 +02:00
Anton Hvornum 8dd097da05 Reverted last change, and improved it. By passing it through load_config and tweaking the read structure a bit, it worked out better if the accessed values are in archinstall.storage instead. 2021-09-15 17:36:54 +02:00
Anton Hvornum c09a36b7b1 Changed from internal storage to parameter-friendly arguments for disk_layouts, so we can support JSON for disk layouts on the new logic. 2021-09-15 13:33:34 +00:00
Anton Hvornum 995edaf316 Removed legacy need to add_bootloader
`add_bootloader` no longer needs to have a harddrive given as a argument. It will (and should) auto-detect what's mounted in the `self.target` (aka mountpoint) of the installation.
2021-09-12 15:42:13 +02:00
Anton Hvornum 51565314b4 Merged in master. 2021-09-06 14:40:05 +00:00
Anton Hvornum 40cd801184
Merge pull request #614 from laxect/patch-1
Fix wrong default in kernels (guide.py)
2021-09-06 15:48:49 +02:00
Anton Hvornum 025dc83194 Corrected some minor modifications mentioned in #595 as well as merged in latest changes from master. For future PR's do create a patch-branch for upstream patches to avoid changes to your local repo. 2021-09-06 12:22:57 +00:00
Yash Tripathi 78bbf26c1a
Update guided.py 2021-08-20 03:48:13 +05:30
Yash Tripathi 6d462ac1cc
added servers key 2021-08-20 03:34:50 +05:30
ギャラ 79f70cee21
Update guided.py
Fix wrong default in kernels.
2021-08-18 20:52:10 +09:00
Yash Tripathi b60e8dfd10 changed dry_run to dry-run 2021-07-18 21:45:24 +05:30
Yash Tripathi b2476313a7 added new key for desktop-environment 2021-07-18 21:40:44 +05:30
Yash Tripathi d55b1786c5 created load_config() to load configuration 2021-07-18 01:28:41 +05:30
Hamad Al Marri 51eb05691a Fix encryption + grub both in UEFI and BIOS systems.
We need to have two partitions in BIOS one for boot (grub)
and the other for root (/). The format of the boot partition
is ext2 (so it is added).

If disk is chosen to be encrypted, `then /etc/default/grub` is edited
as the followings: https://wiki.archlinux.org/title/Dm-crypt/Encrypting_an_entire_system#Configuring_GRUB_2

Issue: https://github.com/archlinux/archinstall/issues/586

This work is done while working on CachyOS which is Arch based and
it is using customized archinstaller.

To test these changes you can try CachyOS installer which supports
encrypted disk with grub (https://wiki.cachyos.org/).

Hamad
2021-07-07 18:38:55 +03:00
Anton Hvornum 51f2eca60e Saving partitioning layout in a layout file (JSON format) 2021-07-03 14:27:49 +02:00
Anton Hvornum d4f0d411f6 Synced master into partitioning branch 2021-06-14 09:26:03 +02:00
Anton Hvornum 8489137b87
Merge pull request #577 from chingnux/fix-silent
fix the case when there's --config but --silent is not set
2021-06-13 16:28:12 +02:00
Dylan M. Taylor 4e17355796
Implement is_desktop_profile helper function (#575)
* Implement is_desktop_profile helper function

* Make ask_for_audio_selection use generic_select

* Fix default value for audio selection

* Leverage list of supported desktops to perform is_desktop_profile check

* is_desktop_profile was missing a default return value

* Store return value for audio server
2021-06-13 14:32:38 +02:00
Anton Hvornum d76760b45f Removed old safety logics for partitions. Partitions will now always be formatted when .format() is called on them. The safety now lay in the code parsing the declerative partition layouts. Also added the encrypt/mount logic for encrypted partitions, which by default will be unencrypted unless a password is specified. 2021-06-13 14:25:07 +02:00
Iru Cai c4edf34764 fix the case when there's --config but --silent is not set 2021-06-13 16:51:57 +08:00
Anton Hvornum 9b6d7021a8 This fixes https://github.com/archlinux/archinstall/pull/426#discussion_r650372664 2021-06-13 10:37:30 +02:00
Anton Hvornum 24476ac1f6 Made it so that the .partitions property of Install() fetches from live data, rather than storing and caching partitions on initation. Since it now supports mounting a partition layout given by external usage. 2021-06-11 17:22:20 +02:00
Anton Hvornum 0a8c061ab4 Fixed format detection on commands, should be using exit codes instead? 2021-06-10 21:00:33 +02:00
Anton Hvornum adae29c205 vfat -> fat32, updated minimal 2021-06-10 20:40:28 +02:00
Anton Hvornum 4e9b1c1635 Renamed vfat -> fat32 for the purpose of consistency. Most actions are referring to fat32, it's only mkfs that has the notion vfat and then -F32 for format 32. And I think vfat confuses more people than it does good, so sticking with fat32 which works better with parted as well. Also added the partitioning logic, started on the mounting logic 2021-06-10 20:38:35 +02:00
Anton Hvornum 857b5c0c3e Skipping bootloader selection if --bootloader was given. 2021-06-10 15:30:58 +02:00
Anton Hvornum 0946b73095 Merging in latest changes from master. 2021-06-10 15:27:02 +02:00
Yash Tripathi fcd0acfef2
added --dry-run flag (#570)
* added --dry-run flag
2021-06-10 15:06:15 +02:00
Anton Hvornum e8d38ea1a7 Started working on partitioning logic from declarative layouts. 2021-06-10 13:39:50 +02:00
Anton Hvornum 5701ef9539 Started working on the load_layout function 2021-06-07 12:40:24 +02:00
Anton Hvornum 25e835ce3e Removed the bulk of disk-operations from guided, and will move the logic into the Filesystem() class instead. 2021-06-06 17:35:44 +02:00
Anton Hvornum 0552d040ac Added a json.dumps() helper that wraps JSON cls. Also tweaked the logic for the size creation so that they don't overlap 2021-06-06 17:13:42 +02:00
Anton Hvornum ce4b1fbcff Added sorting logic for BlockDevice. Also swapped sys_command() to SysCommand() and refined the logic around those calls. 2021-06-06 16:19:53 +02:00
Anton Hvornum 71b6efab69 Merge branch 'master' of github.com:archlinux/archinstall into torxed-rework-partitioning 2021-06-04 15:08:04 +02:00
Anton Hvornum 7d60287a3d Merged in changes from master 2021-06-04 15:07:42 +02:00
Dylan Taylor 3e505d4321 Clean up graphics driver output 2021-06-02 21:43:46 -04:00
Dylan Taylor 5f4a24d5cc Add graphics device listing 2021-06-02 21:23:56 -04:00
Dylan Taylor e90b17ca1c Add hardware logging to beginning of installation 2021-06-02 21:17:54 -04:00
Dylan M. Taylor 5729b0bb4d
Make this template usable to users of more platforms
In case someone is trying to edit this as a template, this will work for more people.
2021-05-28 13:52:01 -04:00
Anton Hvornum 595bd657c6
Merge pull request #526 from dylanmtaylor/export-configuration
Write user configuration JSON to a file in logs directory
2021-05-28 08:48:26 +02:00
Yash Tripathi 3aee3611c4
added support for setting profile to a dict or a string in config 2021-05-28 08:50:27 +05:30
Yash Tripathi c3c55f5992
added support for setting mirror-region to a dict or a string in config 2021-05-28 08:44:28 +05:30
Dylan M. Taylor 04e58f98fa
Needed to set file mode to write. 2021-05-27 22:50:38 -04:00
Dylan Taylor eb8f459525 Write user configuration JSON to a file in logs directory 2021-05-27 22:24:09 -04:00
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