Commit Graph

36 Commits

Author SHA1 Message Date
Yash Tripathi a67a2693db fixed profile selection 2021-07-18 22:41:18 +05:30
Yash Tripathi b2476313a7 added new key for desktop-environment 2021-07-18 21:40:44 +05:30
Yash Tripathi d30a22cae3
Setting proper keys in exported config (#557)
* Set the resolved profile path to the actual desktop environment

* split Nvidia driver list into proprietary and open-source

* Updated select_driver to use archinstall.arguments for driver selection

* Adding default value that works with later .get()

* audio will now be prompted irrespective of profile
2021-06-13 14:52:24 +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
Dylan M. Taylor 26a33000d8 Add descriptions for top-level profiles 2021-05-27 08:11: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
Dylan Taylor 126c7ebfca More formatting fixes to satisfy PEP 8 2021-05-15 15:04:39 -04:00
Dylan Taylor acb754ff2e Try to remove some unused imports 2021-05-15 11:45:36 -04:00
Dylan Taylor ffd5b5f804 Very selectively fix some PEP 8 issues with profiles 2021-05-15 11:35:18 -04:00
Anton Hvornum 2ebf92e5fa
Merge branch 'master' into enlightenment 2021-05-15 09:47:05 +00:00
Dylan Taylor c27445d134 Implement enlightenment desktop 2021-05-15 00:06:51 -04:00
Dylan M. Taylor ea46693608
Add deepin to desktop profile list so it is selectable 2021-05-14 23:04:26 -04:00
Anton Hvornum 4ff35663b8 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. 2021-05-12 13:55:41 +02:00
SecondThundeR 1d04c92258 Add sort parameter for generic_select
Updated required features to support these change
2021-04-20 14:45:54 +03:00
SecondThundeR d2eacffff8 Update some functions
Here are list of changes:
- Added IP/subnet validation using Python's `ipaddress` module
- Added workaround for network configuration modes where user can enter DHCP or IP without brackets.
- Returned local printing options for some functions to keep `The above list...`
- Moved booleans for `generic_select` below options and text parameters
- Imported some functions from `archinstall` to reduce the`archinstall.` part of the lines.
- Reduced variable name length for simplicity
- Fixed some typos
2021-04-19 20:34:35 +03:00
SecondThundeR a316846121 Replace input with generic_select where necessary
Here are list of changes:
> From now on, `generic_select` will be called "Select function", for clarity

- Slightly updated select function
- Removed options output for some functions, where it's better to do with select function
- Added sorting for all lists passed to select function
- Replaced `dict.values()` with `dict` as options parameter
- Simplified input checking for all functions that use the select function
- Added temporary *(for now)* workaround for passing `?` and `help` inputs
- Merged fix for `partition.format()`
2021-04-17 16:35:21 +03:00
Dylan Taylor cf46642037 Implement MATE desktop environment 2021-04-11 10:19:25 -04:00
Dylan M. Taylor 4550076432
Try to solve #261 and related issues 2021-04-09 18:05:00 -04:00
Dylan M. Taylor 3eeb49bd44
Forgot to commit adding budgie to desktop profile 2021-04-09 16:02:26 -04:00
Anton Hvornum f45429b099
Merge pull request #247 from dylanmtaylor/patch-3
draft: Cherry-Pick i3 Profiles and Make Common i3 Package
2021-04-09 08:05:12 +00:00
Dylan M. Taylor 6f4b35c4e8
Add i3 profile to desktop.py 2021-04-08 20:54:34 -04:00
Dylan M. Taylor 8ec18d94bb
Add vim to desktop packages as not everyone likes nano 2021-04-08 18:28:13 -04:00
Dylan Taylor 0d194e2606 Initial implementation of LXQt 2021-04-08 15:54:54 -04:00
Dylan Taylor 72f3423798 Integrate XFCE4 with master 2021-04-08 15:41:08 -04:00
Dylan Taylor dfec4b77fd Integrate cinnamon with changes on master. 2021-04-08 15:35:33 -04:00
Dylan Taylor e49f983036 Add sway profile to desktop file 2021-04-08 15:15:44 -04:00
Dylan M. Taylor d8a2437778 Move from awesome to desktop and add wireless config utilities and smartmontools 2021-04-08 13:33:06 -04:00
Dylan Taylor ea81759e40 Add minimal profile and implement idea of 'top-level' profiles 2021-04-08 09:51:11 -04:00
Rafael Fontenelle 2b5b1ad83d Fix misspellings 2021-04-04 11:28:54 -03:00
j-james 627deb7992
Spell "environment" correctly 2021-01-21 06:56:11 -08:00
Anton Hvornum 3686842587 Spelling error on file 2020-10-18 12:45:10 +02:00
Anton Hvornum f6f5875892 Added a unattended installer. Fixed list_profiles() to not include .py ending in the profile name, it's already in the ['path'] defintion. Renamed desktop.py to awesome.py as it more accurately describes what's being installed. desktop should be reserved to a default desktop environment that's more new-user-friendly. 2020-08-20 19:47:39 +00:00
Anton Hvornum 0b8a3d9540 Removed legacy .json profiles. Not in favor of .py 2020-08-04 14:45:25 +02:00
Anton Hvornum 0cd088572d New feature: application profiles now support .py as well. Also fixed a sys.path issue where an installed version of archinstall would have precedence over the local version when profiles were being executed (because profiles were living in a unknown relative working directory, the caller to those profiles have to make sure .archinstall exists in sys.path before calling said profile) 2020-07-22 01:03:14 +00:00
Anton Hvornum aecd333ea3 v2.0.3 prep release. Profile now fully support python scripting instead of JSON. They also support importing archinstall and doing whatever the examples are doing - with one tiiiny TODO/hack/magic, the 'installer' session that is contextulized gets hard-inserted into the globals() scope. Since the child script won't actually have the global instance of the parent, we need to insert it to be known due to the way we import stuff 2020-07-08 10:46:52 +00:00
Anton Hvornum 3ed8db5ef0 Added support for .py profiles. Added a simple 'desktop.py' for now that is just a mock to make sure it's working. 2020-07-08 10:22:25 +00:00