index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton.feeds@gmail.com> | 2021-05-24 12:34:32 +0200 |
---|---|---|
committer | Anton Hvornum <anton.feeds@gmail.com> | 2021-05-24 12:34:32 +0200 |
commit | 9b0de26c67b6bb90b69d5b4ef874dc0bed407a77 (patch) | |
tree | 69f1b5e0b6ad48018ce9e18d6d74079bfb123540 /docs | |
parent | 404197dc93c2efb24097772848af708d833bdd98 (diff) | |
parent | 7daaf1143fca2723bfb63ab4e3030485446da1c0 (diff) |
-rw-r--r-- | docs/archinstall/general.rst | 2 | ||||
-rw-r--r-- | docs/conf.py | 33 | ||||
-rw-r--r-- | docs/examples/python.rst | 4 | ||||
-rw-r--r-- | docs/installing/guided.rst | 110 | ||||
-rw-r--r-- | docs/pull_request_template.md | 7 |
diff --git a/docs/archinstall/general.rst b/docs/archinstall/general.rst index 7319d244..79406ea3 100644 --- a/docs/archinstall/general.rst +++ b/docs/archinstall/general.rst @@ -1,7 +1,7 @@ .. _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. + 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 ======================= diff --git a/docs/conf.py b/docs/conf.py index 326b2d69..375ff434 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,19 +1,22 @@ import os import re import sys + sys.path.insert(0, os.path.abspath('..')) def process_docstring(app, what, name, obj, options, lines): spaces_pat = re.compile(r"( {8})") ll = [] - for l in lines: - ll.append(spaces_pat.sub(" ", l)) + for line in lines: + ll.append(spaces_pat.sub(" ", line)) lines[:] = ll + def setup(app): app.connect('autodoc-process-docstring', process_docstring) + # Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full @@ -40,7 +43,6 @@ author = 'Anton Hvornum' # The full version, including alpha/beta/rc tags release = 'v2.1.0' - # -- General configuration --------------------------------------------------- master_doc = 'index' @@ -61,13 +63,12 @@ templates_path = ['_templates'] # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -#html_theme = 'alabaster' +# html_theme = 'alabaster' html_theme = 'sphinx_rtd_theme' html_logo = "_static/logo.png" @@ -90,18 +91,18 @@ html_split_index = True html_show_sourcelink = False # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a <link> tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'archinstalldoc' @@ -110,15 +111,10 @@ htmlhelp_basename = 'archinstalldoc' # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - ( - "index", "archinstall", u"archinstall Documentation", - [u"Anton Hvornum"], 1 - ) -] +man_pages = [("index", "archinstall", u"archinstall Documentation", [u"Anton Hvornum"], 1)] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ------------------------------------------------ @@ -127,8 +123,5 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ( - "index", "archinstall", u"archinstall Documentation", - u"Anton Hvornum", "archinstall", "Simple and minimal HTTP server." - ), + ("index", "archinstall", u"archinstall Documentation", u"Anton Hvornum", "archinstall", "Simple and minimal HTTP server."), ] diff --git a/docs/examples/python.rst b/docs/examples/python.rst index f6388738..342ec5c7 100644 --- a/docs/examples/python.rst +++ b/docs/examples/python.rst @@ -27,7 +27,7 @@ Lets create a `test_installer` - installer as an example. This is assuming that We begin by creating `./archinstall/examples/test_installer.py`. The placement here is important later. This script can now already be called using `python -m archinstall test_installer` after a successful installation of the library itself. -But the script won't do much. So we'll do something simple like list all the harddrives as an example. +But the script won't do much. So we'll do something simple like list all the hard drives as an example. To do this, we'll begin by importing `archinstall` in our `./archinstall/examples/test_installer.py` and call some functions. @@ -56,4 +56,4 @@ This should now print all available drives on your system. .. note:: - This should work on any system, not just Arch Linux based ones. But note that other functions in the library relies heavily on Arch Linux based commands to execute the installation steps. Such as `arch-chroot`.
\ No newline at end of file + This should work on any system, not just Arch Linux based ones. But note that other functions in the library relies heavily on Arch Linux based commands to execute the installation steps. Such as `arch-chroot`. diff --git a/docs/installing/guided.rst b/docs/installing/guided.rst index 8699ae62..e442d927 100644 --- a/docs/installing/guided.rst +++ b/docs/installing/guided.rst @@ -3,7 +3,7 @@ Guided installation This is the default scripted installation you'll encounter on the official Arch Linux Archinstall package as well as the unofficial ISO found on `https://archlinux.life <https://archlinux.life>`_. It will guide your through a very basic installation of Arch Linux. -The installer has two pre-requisits: +The installer has two pre-requisites: * A Physical or Virtual machine to install on * An active internet connection prior to running archinstall @@ -26,17 +26,113 @@ Running the guided installation To install archinstall and subsequently the guided installer, simply do the following: -.. code::bash - # pacman -S python-archinstall +.. code-block:: sh + + pacman -S python-archinstall And to run it, execute archinstall as a Python module: -.. code::bash - # python -m archinstall guided +.. code-block:: sh -| The guided parameter is optional as it's the default behavior. + python -m archinstall --script guided + +| The ``--script guided`` argument is optional as it's the default behavior. | But this will start the process of guiding you through a installation of a quite minimal Arch Linux experience. +Installing directly from a config file +-------------------------------------- + +.. note:: + Edit the following json according to your needs, + save this as a json file, and provide the local or remote path (URL) + +.. code-block:: json + + { + "audio": "pipewire", + "bootloader": "systemd-bootctl", + "custom-commands": [ + "cd /home/devel; git clone https://aur.archlinux.org/paru.git", + "chown -R devel:devel /home/devel/paru", + "usermod -aG docker devel" + ], + "!encryption-password": "supersecret", + "filesystem": "btrfs", + "harddrive": { + "path": "/dev/nvme0n1" + }, + "hostname": "development-box", + "kernels": [ + "linux" + ], + "keyboard-language": "us", + "mirror-region": { + "Worldwide": { + "https://mirror.rackspace.com/archlinux/$repo/os/$arch": true + } + }, + "nic": { + "NetworkManager": true + }, + "packages": ["docker", "git", "wget", "zsh"], + "profile": "gnome", + "services": ["docker"], + "superusers": { + "devel": { + "!password": "devel" + } + }, + "timezone": "US/Eastern", + "users": {} + } + +To run it, execute archinstall as a Python module: + +.. code-block:: sh + + python -m archinstall --config <local path or remote URL> + ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| Key | Values/Description | Description | Required | +| | | | | ++======================+========================================================+============================================================================+===============================================+ +| audio | pipewire/pulseaudio | Audioserver to be installed | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| bootloader | systemd-bootctl/grub-install | Bootloader to be installed | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| custom-commands | [ <command1>, <command2>, ...] | Custom commands to be run post install | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| !encryption-password | any | Password to encrypt disk, not encrypted if password not provided | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| filesystem | ext4 / btrfs / fat32 etc. | Filesystem for root and home partitions | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| harddrive | { "path": <path of device> } | Path of device to be used | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| hostname | any | Hostname of machine after installation | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| kernels | [ "kernel1", "kernel2"] | List of kernels to install eg: linux, linux-lts, linux-zen etc | Atleast 1 | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| keyboard-language | 2 letter code for your keyboard language | eg: us, de etc | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| mirror-region | {"<Region Name>": { "Mirror Name": True/False}, ..} | List of regions and mirrors to use | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| nic | nic to use, Use value NetworkManager for installing it | | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| packages | [ "package1", "package2", ..] | List of packages to install post-installation | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| profile | Name of profile to install | profiles are present in profiles/, use the name of a profile to install it | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| !root-password | any | The root account password | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| services | [ "service1", "service2", ..] | Services to enable post-installation | No | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| superusers | { "<username>": { "!password": "<password>"}, ..} | List of superuser credentials, see config for reference | Yes, if root account password is not provided | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| timezone | Timezone to configure in installation | Timezone eg: UTC, Asia/Kolkata etc. | Yes | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ +| users | { "<username>": { "!password": "<password>"}, ..} | List of regular user credentials, see config for reference | Yes, can be {} | ++----------------------+--------------------------------------------------------+----------------------------------------------------------------------------+-----------------------------------------------+ + Description individual steps ============================ @@ -173,4 +269,4 @@ After which you can press :code:`Enter` can be pressed in order to start the for Post installation ----------------- -Once the installation is complete, green text should appear saying that it's safe to `reboot`, which is also the command you use to reboot. +Once the installation is complete, green text should appear saying that it's safe to `reboot`, which is also the command you use to reboot.
\ No newline at end of file diff --git a/docs/pull_request_template.md b/docs/pull_request_template.md index 729c1aae..5e6daf51 100644 --- a/docs/pull_request_template.md +++ b/docs/pull_request_template.md @@ -3,14 +3,13 @@ # New features *(v2.2.0)* All future work towards *`v2.2.0`* is done against `master` now.<br> -Any patch work to existing verions will have to create a new branch against the tagged versions. +Any patch work to existing versions will have to create a new branch against the tagged versions. # Describe your PR -If the changes has been discussed in an Issue, please tag it so we can backtrace from the Issue later on.<br> +If the changes has been discussed in an Issue, please tag it so that we can backtrace from the issue later on.<br> If the PR is larger than ~20 lines, please describe it here unless described in an issue. # Testing -Any new feature or stability improvement should be tested if possible. -Please follow the test instructions at the bottom of the README or use the ISO built on each PR.
\ No newline at end of file +Any new feature or stability improvement should be tested if possible. Please follow the test instructions at the bottom of the README or use the ISO built on each PR. |