Commit Graph

295 Commits

Author SHA1 Message Date
Dylan Taylor d252e090a6 Have pulseaudio installed just in case DEs don't depend on it if pipewire is not requested. 2021-04-09 11:46:47 -04:00
Dylan Taylor 9395d68d5d Try removing pipewire.py and calling add additional packages
Unfortunately, calling the profile was not working.
2021-04-09 11:46:39 -04:00
Dylan M. Taylor b803c281ea Move choice into guided installation instead of DEs
Arch wiki says packages should enable the user services automatically
2021-04-09 11:46:24 -04:00
Anton Hvornum bd134c5db0
Moved the 'use /mnt' logic to during disk selection. 2021-04-09 17:33:44 +02:00
Anton Hvornum 0dafeacabd
Removed some debugging 2021-04-09 15:42:35 +02:00
Anton Hvornum ce04406448
Added some debugging 2021-04-09 15:40:48 +02:00
Anton Hvornum f298b9e393
Added a 'use /mnt' option to the formatted #124. This has not yet been tested, but the logic should work according to the new API layout for Installation(). 2021-04-09 15:27:22 +02:00
Anton Hvornum b5245b31fe
I simplified the countdown, by moving it into it's own function instead of wrapped inside guided.. This can now be used by others for a simple countdown. I also re-worked the minimal.py example to work with the new internal partitioning logic API as well as support some flags from archinstall.arguments to minimize user input requirements to just one single question. This one question will most likely go away too, but stays for simplicity right now. 2021-04-08 21:14:19 +02:00
Dylan Taylor 4059d62e55 Add filtration on top level profile 2021-04-08 09:51:11 -04:00
advaithm 44df0f6046 added _post_install hook. 2021-04-08 09:51:11 -04:00
advaithm a16723abde Update guided.py 2021-04-08 09:51:11 -04:00
Dylan M. Taylor b96ba6e237 Break web browser suggestion into second line to avoid wrapping 2021-04-08 09:20:39 -04:00
Anton Hvornum e9a3e8661e Moved the print logic for browser warning 2021-04-08 09:20:39 -04:00
Dylan M. Taylor b483c718da Add a message about specifying a web browser 2021-04-08 09:20:39 -04:00
Anton Hvornum f8bf2b313a
Merging in master into feature branch. 2021-04-08 08:39:37 +02:00
Anton Hvornum cdf6fc796f
Safety precaution by using .get instead of ["..."] 2021-04-08 08:17:40 +02:00
Dylan Taylor fd7510a88c Make audio server selection only prompt for desktop profiles 2021-04-07 20:38:20 -04:00
Dylan M. Taylor 8e722d07cf
Break web browser suggestion into second line to avoid wrapping 2021-04-07 20:28:30 -04:00
Dylan Taylor 75008f3f0e Merge remote-tracking branch 'dylanmtaylor/minimal-install-profile' into torxed-v2.2.0 2021-04-07 19:28:49 -04:00
Dylan Taylor f85fb66bc6 Add filtration on top level profile 2021-04-07 09:23:08 -04:00
Anton Hvornum 87d37193e5
Merge PR #208: Temporary incorp of audio selection
Implement PipeWire sound server as an option, merging so we can work on this more. No this will not make it into the release as-is, it's just a working branch and this will change :)
2021-04-07 12:55:28 +00:00
Anton Hvornum 42470dcc9a Merging changes from master into feature branch to avoid future conflics. 2021-04-07 11:15:42 +02:00
Anton Hvornum 86699ae23e
Switched from print to installation.log 2021-04-07 09:28:16 +02:00
Dylan Taylor fb2c9aca39 Have pulseaudio installed just in case DEs don't depend on it if pipewire is not requested. 2021-04-06 22:20:07 -04:00
Dylan Taylor 93750dbd22 Try removing pipewire.py and calling add additional packages
Unfortunately, calling the profile was not working.
2021-04-06 22:20:07 -04:00
Dylan M. Taylor d9984550b6 Move choice into guided installation instead of DEs
Arch wiki says packages should enable the user services automatically
2021-04-06 22:19:41 -04:00
Anton Hvornum 2e7930857b
Moved the print logic for browser warning 2021-04-06 19:05:52 +02:00
Dylan M. Taylor 6c3f46f617
Add a message about specifying a web browser 2021-04-06 13:03:42 -04:00
Anton Hvornum 610d630863
Merge pull request #190 from advaithm/master
post install hook
2021-04-06 07:57:02 +00:00
Anton Hvornum 4af3bbac23
Phrasing and removed background coloring 2021-04-06 09:55:12 +02:00
advaithm f0e40f5676 added _post_install hook. 2021-04-06 07:21:11 +05:30
Anton Hvornum dc522b74b9
Merge pull request #179 from advaithm/master
i3 and 13-gaps support
2021-04-05 16:21:43 +00:00
advaithm b56f7d0515 fixed subprocess call 2021-04-05 21:28:20 +05:30
advaithm 9404dbe967 Update guided.py 2021-04-05 21:05:15 +05:30
advaithm 947700a605 use subprocess to launch the shell 2021-04-05 21:03:56 +05:30
advaithm 463d1b5fd3 add shell drop for i3 and i3-gaps 2021-04-05 20:58:38 +05:30
advaithm e2a6a85d66 Revert "Fixed issue with no network configueration"
This reverts commit dbe7f3fcb8.
2021-04-05 20:47:42 +05:30
Zach Osman 69a8730845 Removing background color definitions for all log functions 2021-04-04 16:14:13 -04:00
Anton Hvornum f8fc542fd7
Merge branch 'master' into fix-repo-url 2021-04-04 18:32:59 +00:00
Rafael Fontenelle 5a321d6ce5 Update repo to archlinux/archinstall 2021-04-04 11:52:51 -03:00
Rafael Fontenelle 2b5b1ad83d Fix misspellings 2021-04-04 11:28:54 -03:00
advaithm dbe7f3fcb8 Fixed issue with no network configueration 2021-04-04 19:20:08 +05:30
Anton Hvornum f452655d4f
Merge pull request #158 from advaithm/master
Network manager support
2021-04-04 09:37:29 +00:00
Advaith Madhukar 8ad4a7d1c4
fixed network manager check 2021-04-04 14:42:19 +05:30
advaithm 9daa3f4924 fixed some typos and changed up how we detect if we have to enable/install network manager 2021-04-04 09:26:28 +05:30
advaithm 9e3ded8311
install networkmanager, if required 2021-04-04 08:54:35 +05:30
advaithm ae5f9b08c4
updated guided.py to allow network manager as nic 2021-04-04 07:33:17 +05:30
Anton Hvornum 9bd829c0e2
Merging in latest changes from master. 2021-04-03 16:28:40 +02:00
Anton Hvornum bb295cb83a
Fixes #149 as well as --help. This will be added in the next patch release. 2021-04-03 11:25:34 +02:00
advaithm b974b93004
fixed some issues with the changes 2021-04-02 10:08:16 +05:30
Anton Hvornum a29bd75954
Removing a flush of the cache that was excessive. 2021-03-29 17:46:07 +02:00
Anton Hvornum 36dfa2e1c4
Reverting .strip() logic and moving the check into the get_password() function. 2021-03-29 10:20:35 +02:00
Anton Hvornum ed565e1348
Adding some overclarification to encryption checks. 2021-03-29 09:33:58 +02:00
Anton Hvornum a156f224a8
Fixing un-encrypted drives matching on block encrypted. 2021-03-29 08:56:41 +02:00
Anton Hvornum a3aef119b2
Improved english grammar and dialogues. Some 'questions' were formatted in a way where the user would enter 'yes' instead of the expected input. For instance, 'Any additional users to install:' which is a question where 'yes' is a appropriate response, but the expected input was the username to be created. Rephrased it to 'Enter a username to create a additional user:' instead for instance. 2021-03-21 21:30:52 +01:00
Anton Hvornum a75002a36d
Fixed an issue where brand new disks (no partitions), got protected by a safety measurement where .keep_partitions were set to True by default. 2021-03-21 11:12:07 +01:00
Anton Hvornum b67257233f
Fixed #64. installation.set_timezone() already excisted since earlier versions of archinstall in the library section. The guided.py example simply never asked for a time-zone. There's still no NTP option, which I'll add in later. Mostly because there's a lot of settings one can do to a time-client configuration, and I'm not sure all users want the default time servers etc. 2021-03-20 17:26:48 +01:00
Anton Hvornum 61504fc927
Fixed #101. Now warns the users after they skip the network configuration. 2021-03-20 17:12:53 +01:00
Anton Hvornum 54200bf476
Removed evil .format(ext4) which was a remenant from the old days. 2021-03-14 15:39:52 +01:00
Anton Hvornum 51cbec58da
Spelling error. 2021-03-14 15:32:52 +01:00
Anton Hvornum 32ab44e6da
More error handling to encrypted vs not encrypted partitions. 2021-03-14 15:32:22 +01:00
Anton Hvornum 502968b579
Added some error handling to disk encryption passwords. 2021-03-14 15:28:46 +01:00
Anton Hvornum b495b3328e
Added error handling for unlocking an old partition (autodetect feature). 2021-03-14 15:22:25 +01:00
Anton Hvornum 37b1e61828
Corrected some spelling errors and wrong variables. 2021-03-14 14:00:52 +01:00
Anton Hvornum 7ac68b2436
Removed redundant error handling as well as added some more debug logs. 2021-03-14 13:54:01 +01:00
Anton Hvornum 3f8f0020f5 Purged last legacy, setting the root pw 2021-03-09 16:22:36 +01:00
Anton Hvornum aabdce9286 fixed a global variable as well as re-organized the guided.py to better match the flow of steps.. 1) Ask user questions function, 2) Perform installation steps, 3) Perform actual installation 2021-03-09 16:16:05 +01:00
Anton Hvornum 2bd220c280 Moved everything into a function block rather than having everything on a line by line situation. This just helps separate what the two major components/blocks are of the guided profile. The change was done in the previous commit, but a spelling mistake was made here and I forgot to mention it in the already long commit log. But user-questions is now in one function. Installation steps are now in a two-tier function, one for setup and one for install steps. 2021-03-09 16:13:21 +01:00
Anton Hvornum aafe3d19c6 Fixed remaining installation steps and remove legacy references to archinstall.storage['_guided'] and archinstall.storage['_guided_hidden']. Which were great at the time, but they are not deprecated and moved into archinstall.arguments instead to support parameters on command-line. As well as being a bit more description, since they are arguments afterall to various setup instructions. 2021-03-09 16:10:57 +01:00
Anton Hvornum 1167cf589b Fixed mirror-region parameter selection. Converting to actual mirrors. 2021-03-09 14:09:17 +01:00
Anton Hvornum ce646a9394 Forgot a variable. 2021-03-09 11:49:20 +01:00
Anton Hvornum 586f8bc32e Adding enforcement to select a filesystem-type for encrypted volumes unless the specified pasword can be used to unlock the device and auto-detect this. 2021-03-09 11:44:17 +01:00
Anton Hvornum f230140ba9 Removed hardcoded partition numbers when acessing partitions. As the order is not fixed and more options to disk layouts have been added. 2021-03-09 10:50:05 +01:00
Anton Hvornum 1f62a97c90 Marking the root partitions as encrypted if a disk password is set. In the future, we need to make this a bit more flexible by allowing multiple partitions to be encrypted. But for now, the main partition should be enough. 2021-03-09 10:41:57 +01:00
Anton Hvornum 7ee4815648
Adding encryption helpers to the Partition() class, that sets up and utilizes luks2.encrypt() in extension. 2021-03-09 00:12:03 +01:00
Anton Hvornum f1cb3209ad Tweaked the guided steps up until the installation. 2021-03-08 17:21:23 +01:00
Anton Hvornum 8bf3296749 Optimization, safe_to_format() now checks partition.allow_formatting as a condition. 2021-03-08 17:14:21 +01:00
Anton Hvornum fb55e318e5 Added two new functions. partition.safe_to_format() and partition.has_content(). The first does some sanity checks to verify if we can format the partition or not. The second temporarly mounts the parition and checks if there's content inside and returns accordingly. 2021-03-08 17:13:21 +01:00
Anton Hvornum 6306de4bfe Reworked the guided partitioning logic to better match new expectations of flexability. Still some work to be done and features to be implemented, but the structure is taking place 2021-03-08 16:52:06 +01:00
Anton Hvornum 0b3879ac58 Removing part of the old formatting scheme. New implementation roughly 80% done. 2021-03-08 16:18:56 +01:00
Anton Hvornum 979d162551 Added some debugging. 2021-03-08 16:14:44 +01:00
Anton Hvornum 948878e9e3 Added some debugging. 2021-03-08 16:09:51 +01:00
Anton Hvornum 1ef63147d0 Tweaked logging slightly. 2021-03-08 15:54:23 +01:00
Anton Hvornum c5694393c6 Fixed the JSON_Encoder. The issue was that dictionaries are mutable, and dumping dictionaries and replacing keys also replaces the original value. 2021-03-08 15:10:58 +01:00
Anton Hvornum ffbb952eb3 Added some debugging. 2021-03-08 14:58:58 +01:00
Anton Hvornum 2fe8a173f4 Added some debugging. 2021-03-08 14:58:31 +01:00
Anton Hvornum 30467ca50f Added some debugging. 2021-03-08 14:57:47 +01:00
Anton Hvornum 1d913f50ed Added some debugging. 2021-03-08 14:55:21 +01:00
Anton Hvornum 775a26f738 Added a abort message 2021-03-08 14:47:24 +01:00
Anton Hvornum dd66aeda9a Re-formatted a question a bit. 2021-03-08 14:44:51 +01:00
Anton Hvornum e537a57a88 Fixed indentation on output. 2021-03-08 14:43:48 +01:00
Anton Hvornum 8da8608e22 Added a small menu instead of a one-liner to select what to do with the disk if it has partitions. 2021-03-08 14:42:43 +01:00
Anton Hvornum c55fc11cae Added a comment 2021-02-17 15:13:45 +01:00
Anton Hvornum a9ce3e5390 Testing auto-filter in the JSON encoder based on ! points markering sensitive data. 2021-02-17 14:54:45 +01:00
Anton Hvornum 930fc994d9 Removed redundant variable 2021-02-17 14:29:51 +01:00
Anton Hvornum ad4733bbd0 Simplified profile prep-execution slightly in guided.py. The code can be improved further but it's now more easily read what's going on. 2021-02-17 14:21:46 +01:00
Anton Hvornum 758b12e674 Simplifying the profile loading a bit, and adding some debugging for it. 2021-02-17 13:59:44 +01:00
Anton Hvornum 03a69eba2e Cleaned up guided.py further by stream-lining the profiles and NIC configuration. 2021-02-17 13:54:34 +01:00
Anton Hvornum 572d59e560 Cleaning up guided.py a bit to be less complex and convoluted, while still performing the same task. 2021-02-17 13:30:14 +01:00
Anton Hvornum 5cb3b0d176 Implemented #106 in branch skip-partitioning. Also moving the disk_password from being a local variable to a BlockDevice setting/variable. 2021-02-17 12:24:56 +01:00
Anton Hvornum 3a8a25982a Forgot relative path for exceptions. 2021-02-17 12:15:48 +01:00
Anton Hvornum b5c862549a Added more error handling for filesystem selection 2021-02-17 12:14:43 +01:00
Anton Hvornum 28adc20a30 Added more flags to the dummy-format 2021-02-17 12:13:59 +01:00
Anton Hvornum 6e2d0c98eb Added some error handling when selecting a filesystem for partitions. 2021-02-17 12:12:49 +01:00
Anton Hvornum 10f0567ead Adding filesystem selection for partitions 2021-02-17 12:06:15 +01:00
Anton Hvornum 76d3976df6
Re-worked guided to allow for unsupported fileformats when checking which are supported, as well as selecting mount-points. 2021-02-16 08:51:00 +01:00
Anton Hvornum e2cd617d05
Reworked the way partition formatting works. As well as added some flags to the partition if it's locked/unlocked for partitioning. By defaults partitions will now be in a locked state - prohibiting formatting unless set or overridden in the formatting call. This allows us to selectively format partitions individually later on. There's also a target_mountpoint that is the desired relative mount point inside a installation. This can be pre-pended with the installation base directory during mount. These changes also function as indicators for the installation (and guided installation) for which partitions to use and/or wipe. If an entire drive is selected for wiping, these changes will have no affect in the decision making as all partitions will be new and have formatable set to true. 2021-02-11 14:11:21 +01:00
Anton Hvornum 62a14d0945 Forgot importpath for exceptions 2021-02-07 19:26:47 +01:00
Anton Hvornum 47649074b8 Quotation issue 2021-02-07 18:44:26 +01:00
Anton Hvornum 819a8f742e Replacing static variables with more dynamic ones that can live across scopes. No need to pass things around unless strictly nessecary 2021-02-07 18:43:05 +01:00
Anton Hvornum ea65e3599a Forgot a semicolon 2021-02-07 18:34:43 +01:00
Anton Hvornum a320ce3341 Thought I could get away with a little default-parameter hack to make the code look nice, but the JIT doesn't do lazy resolving on .get() calls. 2021-02-07 18:33:27 +01:00
Anton Hvornum 9398542559 Added in command line arguments to guided and simplified the laout of guided a bit. Also added some more comments. 2021-02-07 18:16:00 +01:00
Anton Hvornum c983976394 Added in argument support to archinstall for easier testing and debugging 2021-02-07 17:57:16 +01:00
Anton Hvornum 530edb5ece Moved the output of the current fileformat structure in guided, as well as added an option to supress the log message from format() in order to hide (for users) the some what confusing formating of /dev/null. 2021-02-07 15:36:24 +01:00
Anton Hvornum acf39296ef Added a check in guided to make it more visible that we check for filesystem supportation. 2021-02-07 15:34:11 +01:00
Anton Hvornum 15aa16c425 Renamed fat32 to vfat to work more seamlessly with findmnt and other tools that report fat32 as vfat 2021-02-07 15:27:12 +01:00
Anton Hvornum d527e215fc Added some log outputs for existing drives. 2021-02-07 15:03:32 +01:00
Anton Hvornum 7123da1c56 Threw the wrong exception 2021-02-07 13:39:39 +01:00
Anton Hvornum 53cdb607bc Added the ability to check if a harddrive has any mountpoint related to a given parameter. 2021-02-07 13:36:30 +01:00
Anton Hvornum 9c7f689dd6 Can't unmount during startup if we want to support existing partitioning schemes. 2021-02-07 13:29:33 +01:00
Anton Hvornum e06603f0e1 has_partitions() doesn't take any parameters, old reminant of prototype code. 2021-02-07 12:53:01 +01:00
Anton Hvornum fa2270a11b Created has_partitions() on BlockDevice's 2021-02-07 12:52:12 +01:00
Anton Hvornum a618ebd611 Adding a check to see if the disk contains a parition table already. has_partitions() TBI 2021-02-07 12:34:39 +01:00
Anton Hvornum 65e6b8fe31 Merge branch 'master' of github.com:Torxed/archinstall into improved-logging 2021-01-26 00:33:28 +01:00
Anton Hvornum 1c80a893ac Adding copy mode for #95 (#82). I wouldn't say this is a hacky way of doing it, but using a string as identifier is the only way I can think of currently in guided.py. When user is prompted to select a interface to configure for networking, there's now a zero-option to copy existing ISO configuration to the install medium. This enables advance configuration prior to running the installer - and simply copy it straight over to the install medium. Two requirements: 1: That iwd is used for wifi configuration and config for passwords etc are stored in /var/lib/iwd 2: That systemd-networkd is used to configure networking/IP/DHCP as anything under /etc/systemd/networkd/* is copied over. 2021-01-25 15:34:35 +01:00
Anton Hvornum 40622265a2
Simplified the code a bit by removing the log file setup. It's not handled by archinstall.output.log(). Also moved two variable setups to the top. 2021-01-25 00:11:34 +01:00
Anton Hvornum 435d2f687e
Added some more fields to the configuration output, as well as added a better fail safe for the logging output. Any exception during the installation will be caught by __exit__ in Installer(), hopefully. 2021-01-25 00:09:34 +01:00
Giancarlo Razzolini 07ca7f421d
examples/guided: Enable systemd-resolved
If we enable systemd-networkd and do not enable systemd-resolved, the installed system
is left on a state where it has networking, but can resolve any hostnames. It is required
to have systemd-resolved enabled if any .network file has a DNS entry or is using DHCP=yes.

https://wiki.archlinux.org/index.php/Systemd-networkd#Required_services_and_setup
2021-01-21 15:02:33 -03:00
Anton Hvornum d0a02f39c8
Fixed #76 and created PGP keys. 2021-01-19 23:35:37 +01:00
Anton Hvornum 1edb8f6f72 Added additional user-verification to guided.py
Also spelling error in subpath
2020-12-06 12:03:36 +01:00
Anton Hvornum 9fb08387de Reverted last commit and added debugging in guided instead 2020-12-06 11:58:16 +01:00
Anton Hvornum 74c351f27f Simplified guided.py a bit 2020-12-06 11:49:56 +01:00
Anton Hvornum 4dd20ae4d4 Fixed default-variable setup bug. 2020-11-11 22:23:26 +00:00
Anton Hvornum f6460b8634 Fixed a bug where no locale generated a hang because loadkeys needs at least one option in set_keyboard_language() 2020-11-11 22:11:13 +00:00
Anton Hvornum 72f9c07e43 Forgot to enable systemd-networkd service. 2020-11-11 20:44:05 +00:00
Anton Hvornum a9099cbb46 Added key error correction again by creating default value. Should do this for all of them really. 2020-11-11 20:37:36 +00:00
Anton Hvornum 9ad56f3462 Created a default package entry in the _guided storage. 2020-11-11 20:28:51 +00:00
Anton Hvornum cb6ab2c28b Logical issue with how I stripped the response. It overrode the None but never reverted it back. 2020-11-11 20:26:21 +00:00
Anton Hvornum 092f2d3240 Revert gateway to None if the string is zero-len. 2020-11-11 20:25:01 +00:00
Anton Hvornum 065da563fb configure_nic() is on the installation, not a generic function. 2020-11-11 20:23:50 +00:00
Anton Hvornum 7288df57b7 Fixed DNS logic, since DNS might become [""]. 2020-11-11 20:23:13 +00:00
Anton Hvornum b3bcf54a2c Fixed generic_select() to accept (and break on) empty selects. 2020-11-11 20:20:46 +00:00
Anton Hvornum abfeeb8dd0 Asking user for interface-names rather than MAC address. Should probably print the current IP if any, which would make it easier to identify 2020-11-11 20:17:48 +00:00
Anton Hvornum be2dd2b3cd Fix for generic_select() call. 2020-11-11 20:15:58 +00:00
Anton Hvornum 72fb912b6b Adding network support (questions) to guided.py according to #65. Previous commit added the functionality to configure the nic inside the installation. 2020-11-11 20:13:26 +00:00
Anton Hvornum e43a84bb4b Fix for #61. Variable mix-matches should be fixed and tested now. There's also slightly better debug output to show where the issue is rather than just 'AttributeError'. 2020-11-08 23:31:10 +00:00
Anton Hvornum decf9119f2 Fixing a variable missmatch in #61. The global configuration snapshot (that is used for debug printing) does not contain the password for the new user (for safety reasons). So we can no longer get the password from that snapshot, but instead we have to get it from the global variable users (:dict). 2020-11-08 23:22:26 +00:00
Lord Anton Hvornum ed579a07ed Fixing issues with lists being passed instead of strings 2020-11-08 19:36:29 +01:00
Lord Anton Hvornum 4046c5349a Fixed variable issues and version bump 2020-11-08 14:48:40 +01:00