Skip to content

Alpha - Archinstoo

Group 1

What is archinstoo:

A fork of archinstall an operating system installer for archlinux. MORE choices, LESS packages installed in end-product, LESS complex flags, and MORE hot-fixes. Aims to make the code base more readable, maintainable and modifiable by anyone.

Tip

In the ISO, you are root by default. Use sudo or equivalent, when from an existing system.

Setup / Usage

0. Get internet access

Note

Ethernet cable is plug and play.

Test: ping -c 3 google.com if this returns ttl=109 time=10.1 ms 3 times...

You can then skip wifi setup below

For Wifi:

# check devices
$ ip link

$ iwctl station wlan0 connect "SSID"
# where SSID is the name of your wifi
# where wlan0 is your device name
# case sensitive and will prompt for password

$ nmcli dev wifi connect "SSID" -a
# alternative

0.1. Prep

If on the ISO instead of a live system

pacman-key --init
pacman -Syy
pacman -S git

1. Get the source code

git clone https://github.com/h8d13/archinstoo
cd archinstoo/archinstoo

2. Run the code

python -m archinstoo [args] # try -h or --help
# some options are behind --advanced

3. Enjoy your new system(s)

Screenshot_20260608_165700

Make your pizzas. Una pizza con funghi e prosciutto.

Tip

Alternatively: There are wrappers/helpers (which perform similar steps to 1 and 2) from the repo root:

./RUN # regular
./DEV # advanced

Modify/Extend

You can create any profile in archinstoo/default_profiles/ following convention, which will be imported automatically. Or modify existing ones directly. Can also see here for examples

You can make plugins easily --script list for archinstoo, anything inside scripts/ is also imported.

Available options:
              [*] requires root
    count
    mirror
    size
    format    [*]
    guided    [*] < DEFAULT
    live      [*]
    minimal   [*]
    packages  [*]
    rescue    [*]

The full structure of the project can be consulted through TREE

Core changes you can perform in installer.py and related defs (here search/find/replace is your friend).

A man page is also available man -l docs/archinstoo.1

Use cases

See Newb-Corner if you're just starting out with Arch.

See Headless for example server install to play minecraft/run tailscale nodes.

See Multi-Boot for example to boot multiple OSes.

See Security for hardening installs/best practices.

See Build-ISOs to create your own install mediums.

See Cachy-Kernels for swapping to their kernels post-install.

See Out-of-Tree for example install on unsupported hardware. (Older nVIDIA, Realtek, ...)

See ARM-Support for example install on Raspi 5-b.

See all other docs: .github and ArchWiki

Testing

Host-to-target: testing (without ISOs) Here you will need more dependencies

See historical/latest changes Changelog

The process would be the same with git clone -b <branch> <url> to test a specific fix. Usually reproduced then tested on actual/appropriate hardware.

Any help in this regard is deeply appreciated, as testing takes just as long, if not longer, than coding.

Accurate reports/PRs will be addressed in a timely manner: Issues and Contributing

Philosophy: Simplify, No backwards-compat, Move fast (even if it means breaking and fixing).

See Philosophy

See Troubleshooting


Building sources

The idea being to promote option 2 to use archinstoo latest non-dev. Always, since fixes are often time critical.

  1. For DEV top-level PKGBUILD has extra tools like archiso, pacman-contrib and nvchecker.

  2. For non-dev see archinstoo/PKGBUILD uses the repo without it's top part from git.

See archinstall and thanks to the many original contributors.

See mirror for a copy of this repo, not on GitHub.