From a91aea315438e7bc2e52a3d3ffb9f2ab0ca1b8e8 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Wed, 30 Sep 2020 22:24:57 +0200 Subject: First complete draft of the documentation. Some autodocs are still unpopulated but will be done via code and not reST chapters. --- archinstall/__init__.py | 3 +- docs/archinstall/Application.rst | 10 ++++ docs/archinstall/Installer.rst | 4 +- docs/archinstall/Profile.rst | 16 ++++++ docs/archinstall/general.rst | 90 +++++++++++++++++++++++++++++++++ docs/index.rst | 18 ++++++- docs/installing/guided.rst | 104 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 240 insertions(+), 5 deletions(-) create mode 100644 docs/archinstall/Application.rst create mode 100644 docs/archinstall/Profile.rst create mode 100644 docs/archinstall/general.rst create mode 100644 docs/installing/guided.rst diff --git a/archinstall/__init__.py b/archinstall/__init__.py index cd3d29a5..baa6c7c0 100644 --- a/archinstall/__init__.py +++ b/archinstall/__init__.py @@ -8,4 +8,5 @@ from .lib.luks import * from .lib.mirrors import * from .lib.networking import * from .lib.locale_helpers import * -from .lib.services import * \ No newline at end of file +from .lib.services import * +from .lib.packages import * \ No newline at end of file diff --git a/docs/archinstall/Application.rst b/docs/archinstall/Application.rst new file mode 100644 index 00000000..72722362 --- /dev/null +++ b/docs/archinstall/Application.rst @@ -0,0 +1,10 @@ +.. _archinstall.Application: + +archinstall.Application +======================= + +This class enables access to pre-programmed application configurations. +This is not to be confused with :ref:`archinstall.Profile` which is for pre-prgrammed profiles for a wider set of installation sets. + + +.. autofunction:: archinstall.Application diff --git a/docs/archinstall/Installer.rst b/docs/archinstall/Installer.rst index b7d8c8ce..22d73116 100644 --- a/docs/archinstall/Installer.rst +++ b/docs/archinstall/Installer.rst @@ -1,7 +1,7 @@ .. _archinstall.Installer: -Installer -========= +archinstall.Installer +===================== The installer is the main class for accessing a installation-instance. You can look at this class as the installation you have or will perform. diff --git a/docs/archinstall/Profile.rst b/docs/archinstall/Profile.rst new file mode 100644 index 00000000..0f57c68c --- /dev/null +++ b/docs/archinstall/Profile.rst @@ -0,0 +1,16 @@ +.. _archinstall.Profile: + +archinstall.Profile +=================== + +This class enables access to pre-programmed profiles. +This is not to be confused with :ref:`archinstall.Application` which is for pre-prgrammed application profiles. + +Profiles in general is a set or group of installation steps. +Where as applications are a specific set of instructions for a very specific application. + +An example would be the *(currently fictional)* profile called `database`. +The profile `database` might contain the application profile `postgresql`. +And that's the difference between :ref:`archinstall.Profile` and :ref:`archinstall.Application`. + +.. autofunction:: archinstall.Profile diff --git a/docs/archinstall/general.rst b/docs/archinstall/general.rst new file mode 100644 index 00000000..349393de --- /dev/null +++ b/docs/archinstall/general.rst @@ -0,0 +1,90 @@ +.. _archinstall.helpers: + +.. warning:: + All these helper functions are mostly, if not all, related to outside-installation-instructions. Meaning the calls will affect your current running system - and not touch your installed system. + +Profile related helpers +======================= + +.. autofunction:: archinstall.list_profiles + +Packages +======== + +.. autofunction:: archinstall.find_package + +.. autofunction:: archinstall.find_packages + +Locale related +============== + +.. autofunction:: archinstall.list_keyboard_languages + +.. autofunction:: archinstall.search_keyboard_layout + +.. autofunction:: archinstall.set_keyboard_layout + +Services +======== + +.. autofunction:: archinstall.service_state + +Mirrors +======= + +.. autofunction:: archinstall.filter_mirrors_by_region + +.. autofunction:: archinstall.add_custom_mirror + +.. autofunction:: archinstall.insert_mirrors + +.. autofunction:: archinstall.use_mirrors + +.. autofunction:: archinstall.re_rank_mirrors + +.. autofunction:: archinstall.list_mirrors + +Disk related +============ + +.. autofunction:: archinstall.BlockDevice + +.. autofunction:: archinstall.Partition + +.. autofunction:: archinstall.Filesystem + +.. autofunction:: archinstall.device_state + +.. autofunction:: archinstall.all_disks + +Luks (Disk encryption) +====================== + +.. autofunction:: archinstall.luks2 + +Networking +========== + +.. autofunction:: archinstall.getHwAddr + +.. autofunction:: archinstall.list_interfaces + +General +======= + +.. autofunction:: archinstall.log + +.. autofunction:: archinstall.locate_binary + +.. autofunction:: archinstall.sys_command + +Exceptions +========== + +.. autofunction:: archinstall.RequirementError + +.. autofunction:: archinstall.DiskError + +.. autofunction:: archinstall.ProfileError + +.. autofunction:: archinstall.SysCallError \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 627347e9..31538295 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,7 +2,7 @@ python-archinstall Documentation ================================ | **python-archinstall** *(or, archinstall for short)* is a helper library to install Arch Linux and manage services, packages and other things. -| It comes packaged with different installers *(shopped as scripts)*, such as _guided and _automated installer that can be run as _Python modules. +| It comes packaged with different pre-configured installers, such as the `installing.guided`_ installer. | | Here's a `demo `_ using the guided installer. @@ -15,6 +15,12 @@ Some of the features of Archinstall are: * **Supports standalone executable** The library can be compiled into a single executable and run on any system with or without Python. This is ideal for live mediums that don't want to ship Python as a big dependency. +.. toctree:: + :maxdepth: 3 + :caption: Running on ISO + + installing/guided + .. toctree:: :maxdepth: 3 :caption: Installing @@ -48,4 +54,12 @@ Some of the features of Archinstall are: :maxdepth: 3 :caption: API Reference - archinstall/Installer \ No newline at end of file + archinstall/Installer + archinstall/Profile + archinstall/Application + +.. toctree:: + :maxdepth: 3 + :caption: API Helper functions + + archinstall/general \ No newline at end of file diff --git a/docs/installing/guided.rst b/docs/installing/guided.rst new file mode 100644 index 00000000..95f267be --- /dev/null +++ b/docs/installing/guided.rst @@ -0,0 +1,104 @@ +.. _installing.guided: + +Guided installation +=================== + +This is the installer you'll encounter on the *(currently)* inofficial Arch Linux Archinstall ISO found on `archlinux.life `_. + +It runs you through a set of questions in order to determine what the system should look like. Then the guided installer performs the required installation steps for you. Some additional steps might show up depending on your chosen input at some of the steps - those steps should be self explanatory and won't be covered here. + +.. note:: + There are some limitations with the installer, such as that it will not configure WiFi during the installation proceedure. And it will not perform a post-installation network configuration either. So you need to read up on `Arch Linux networking `_ to get that to work. + +Features +-------- + +The guided installer currently supports: + + * *(optional)* Setting up disk encryption + * *(optional)* Installing some simpel desktop environments + * Choosing between a super-user or root based user setup + +Installation steps +------------------ + +The steps are ever so changing between versions. +But currently the steps are *(in order and explained briefly)* + +Locale +^^^^^^ + +Asks what locale you want. This configures your keyboard layout both during the installation and mostly in the installed system as well. + +Mirrors +^^^^^^^ + +Next step is to select where you want to download packages from. +Selecting a mirror-region will greatly increase speeds of the installation. + +.. note:: + The step is **optional**, and Arch Linux have built-in tools to attempt to improve the mirror-order during the installation. It does behave slightly unpredictable in some regions, so selecting it manually is recommended for this installer. + +Harddrive +^^^^^^^^^ + +The next step is to choose which medium to install to. +There are some limitations on what mediums the installer can detect and install on. +But for the most part, the following are supported: + + * IDE and SATA drives + * NVMe and similar devices + * loopback devices + +Disk encryption +^^^^^^^^^^^^^^^ + +Selecting a disk encryption password enables disk encryption for the installation. + +.. note:: + This step is highly recommended for most users, skipping this step comes with some risk so read up on why you would want to skip this before deciding to opt-out. + +.. warning:: + This step does require at least 1GB of free RAM during boot in order to boot at all. Keep this in mind when creating virtual machines. + +Hostname +^^^^^^^^ + +The hostname in which the machine will identify itself on the local network. +This step is optional, but a default hostname of `Archinstall` will be set if none is selected. + +Root password +^^^^^^^^^^^^^ + +.. note:: + This step is optional and **it's recommended to skip** this step. + +This gives you the option to re-enable the `root` account on the machine. By default, the `root` account on Arch Linux is disabled and does not contain a password. + +Instead, you're recommended in the next step to set up a super-user. + +Super-user +^^^^^^^^^^ + +.. note:: + This step only applies if you correctly skipped the previous step :ref:`root_password`_ which makes this step mandatory. + +If the previous step was skipped, and only if it is skipped. +This step enables you to create a `sudo` enabled user with a password. + +The sudo permission grants `root`-like privileges to the account but is less prone to guessing attacks and other security enhancing measures. You are also less likely to mess up system critical things by operating in normal user-mode and calling `sudo` to gain temporary administrative privileges. + +Pre-programmed profiles +^^^^^^^^^^^^^^^^^^^^^^^ + +You can optionally choose to install a pre-programmed profile. These profiles might make it easier for new users or beginners to achieve a desktop environment as an example. + +There is a list of profiles to choose from. If you are unsure of what any of these are, research the names that show up to understand what they are before you choose one. + +Additional packages +^^^^^^^^^^^^^^^^^^^ + +Some additional packages can be installed if need be. This step allows you to list *(space separated)* officially supported packages from the `package database `_. + +.. warning:: + When selecting *(or skipping)* this step. The installation will begin and your selected hard drive will be wiped after a 5 second countdown. \ No newline at end of file -- cgit v1.2.3-54-g00ecf