Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-09-30 22:24:57 +0200
committerAnton Hvornum <anton.feeds+github@gmail.com>2020-09-30 22:24:57 +0200
commita91aea315438e7bc2e52a3d3ffb9f2ab0ca1b8e8 (patch)
tree3a10e91da8e0e30b5b50ccd86c796329061ae685
parentaf92d15e9602359282907da78ca5898bf83a8748 (diff)
First complete draft of the documentation. Some autodocs are still unpopulated but will be done via code and not reST chapters.
-rw-r--r--archinstall/__init__.py3
-rw-r--r--docs/archinstall/Application.rst10
-rw-r--r--docs/archinstall/Installer.rst4
-rw-r--r--docs/archinstall/Profile.rst16
-rw-r--r--docs/archinstall/general.rst90
-rw-r--r--docs/index.rst18
-rw-r--r--docs/installing/guided.rst104
7 files changed, 240 insertions, 5 deletions
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 <https://www.youtube.com/watch?v=9Xt7X_Iqg6E>`_ using the guided installer.
@@ -17,6 +17,12 @@ Some of the features of Archinstall are:
.. toctree::
:maxdepth: 3
+ :caption: Running on ISO
+
+ installing/guided
+
+.. toctree::
+ :maxdepth: 3
:caption: Installing
installing/python
@@ -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 <https://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 <https://wiki.archlinux.org/index.php/Network_configuration>`_ 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 <https://www.archlinux.org/packages/>`_.
+
+.. 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