Skip to content

otechdo/oh

Repository files navigation

Oh

It's a project to install archlinux manually.

It's requiring to know the archlinux system.

Donate

donate

@donate

Profiles

Desktop

base extra supported
gnome gnome-extra yes
kde kde-extra yes
cinnamon cinnamon-extra yes
budgie budgie-extra yes
xfce xfce-extra yes
lxqt lxqt-extra yes

Tilling windows manager

base extra supported
i3 i3-extra yes
xmonad xmonad-extra yes
bspwm bspwm-extra yes
qtile qtile-extra yes
hyprland hyprland-extra yes
awesome awesome-extra yes

Groups

base extra do supported
admin admin-extra Add cockpit full support yes
container container-extra Add containers support yes
virtualization virtualization-extra Add virtualization packages yes
3d-printing 3d-printing-extra Add 3d printers support yes
electronic electronic-extra Add electronic software yes
sound sound-extra Add full sound driver yes
developer developer-extra Add developer toolkit yes

zuu continuous

Command line interface

command alias do
oh oh Run installer in update mode
oh --setup oh -s Run installer in first install mode
oh --new oh -n Run installer in new config mode
oh --install oh -i Run oh in packages installer mode
oh --deps oh -d Run oh in dependencies installer mode
oh --uninstall oh -u Run oh in packages uninstaller mode
oh --mirrors oh -m Run oh in mirrors updater mode
oh --check oh -c Run oh in check updates mode
oh --download oh -d Run oh in download iso mode
oh --help oh -h Display the help message
oh --cache oh -C Generate cache files
oh --wiki oh -w Navigate to the wiki
oh --news oh -n Navigate to the news
oh --aur oh -a Navigate to the aur
oh --forum oh -f Navigate to the forum
oh --man oh -m Navigate to the man pages
oh --vote pkg oh -v pkg Vote for a aur package
oh --search pkg oh -S pkg Run oh in search package mode
oh --search pkg oh -S pkg Run oh in search package mode
oh --create-usb device_path oh -U devive_path Create usb with the current configuration
os --list os -l List all boxes
os --new os -n Create a box
os --clean os -c Remove all created boxes
os --help os -h Display help message
os --upgrade os -U Upgrade all created boxes
os --stop box os -s box Stop the box
os --use box os -u box command Enter inside the box
os --run box command os -r box command Run the command in the box

Documentation

Locale completed
fr in progress
es no
it no
en yes

Key bindings

This file lists all the key bindings currently registered by prompts.

All prompts

These key bindings may be used with all prompts.

command description
enter Submit answer.
esc Cancel the prompt*.
ctrl + c Interrupt the prompt*.

* Cancelling and interrupting a prompt have two different meanings.

Cancelling is defined specially for when the end user is allowed to skip a prompt.

The library user can then use prompt_skippable which wraps the return type into an Option and catches the CanceledOperation error transforming it into a Ok(None) result.

Interrupted operations are closer to "stop-the-world" operations, where the library user should treat them as termination commands.

Text input

These key bindings may be used with all prompts that ask the user for text input: [Text], [Select], [MultiSelect], [Confirm], [CustomType] and [Password].

The [Editor] prompt is not included because it opens a separate text editor for text input.

command description
character Insert the character into the input.
left Move the cursor back one character.
right Move the cursor forward one character.
ctrl + left Move one word to the left of the cursor.
ctrl + right Move one word to the right of the cursor.
home Move cursor to the start of the line.
end Move cursor to the end of the line*.
backspace Delete one character to the left of the cursor.
delete Delete the character at the cursor.
ctrl + delete Delete one word to the right of the cursor.

* Key bindings aren't supported on [Select] and [MultiSelect] prompts.

Text prompts

These key bindings may be used in [Text] prompts.

command description
enter Submit the current current text input.
up When suggestions are displayed, move cursor one row up.
down When suggestions are displayed, move cursor one row down.
page up When suggestions are displayed, move cursor one page up.
page down When suggestions are displayed, move cursor one page down.
tab Replace current input with the resulting suggestion if any.
others See Text Input and All Prompts

Select prompts

These key bindings may be used in [Select] prompts.

command description
enter Submit the current highlighted option.
up Move cursor one row up.
down Move cursor one row down.
k Move cursor one row up when vim mode is enabled.
j Move cursor one row down when vim mode is enabled.
page up Move cursor one page up.
page down Move cursor one page down.
home Move cursor to the first option.
end Move cursor to the last option.
others See Text Input and All Prompts

Multi select prompts

These key bindings may be used in [MultiSelect] prompts.

command description
enter Submit the options currently selected.
space Toggle the selection of the current highlighted option.
up Move cursor one row up.
down Move cursor one row down.
k Move cursor one row up when vim mode is enabled.
j Move cursor one row down when vim mode is enabled.
page up Move cursor one page up.
page down Move cursor one page down.
home Move cursor to the first option.
end Move cursor to the last option.
left Deselect all options.
right Select all options.
others See Text Input and All Prompts

Date select prompts

These key bindings may be used in the interactive calendar of the [DateSelect] prompt.

command description
space bar or enter Submit the current highlighted date.
up Move cursor one row up.
down Move cursor one row down.
left Move cursor one column to the left.
right Move cursor one column to the right.
k Move cursor one row up when vim mode is enabled.
j Move cursor one row down when vim mode is enabled.
h Move cursor one column to the left when vim mode is enabled.
l Move cursor one column to the right when vim mode is enabled.
ctrl + up Move calendar back by one year.
ctrl + down Move calendar forward by one year.
ctrl + left Move calendar back by one month.
ctrl + right Move calendar forward by one month.

Editor prompts

These key bindings may be used in [Editor] prompts.

command description
e Open the editor.
enter Submit the current content of the temporary file being edited.

Installation

Let's begin the archlinux installation!

Set keymap

loadkeys <keymap>

Partitioning

cgdisk /dev/sda
Size Code Name Formating sample Mount path Mount command Description
1 +1G EF00 /boot/efi mkfs.fat -F 32 /dev/sda1 /mnt/boot/efi mount /dev/sda1 /mnt/boot/efi The efi boot part
2 +4G 8300 /boot mkfs.xfs /dev/sda2 /mnt/boot mount /dev/sda2 /mnt/boot The boot part
3 +100G 8300 / mkfs.xfs /dev/sda3 /mnt mount /dev/sda3 /mnt The root part
4 +50% 8300 /home mkfs.xfs /dev/sda4 /mnt/home mount /dev/sda4 /mnt/home The home part
5 +50% 8300 /mnt/save mkfs.ext4 /dev/sda5 /mnt/mnt/save mount /dev/sda5 /mnt/mnt/save The save part

Update the pacman mirrors

reflector -c <country> --sort delay --save /etc/pacman.d/mirrorlist -p https

Initialise the pacman keyring

pacman-key --init && pacman-key --populate ohlinux

Install the base system

Add your GPU driver and processor ucode package.

Uefi system

pacstrap /mnt base base-devel linux linux-firmware less networkmanager efivars bootmgr xfsprogs os-prober fish feh pkgfile pacman-contrib ohlinux-wallpaper grub os-prober

Bios system

pacstrap /mnt base base-devel linux linux-firmware networkmanager grub xfsprogs os-prober fish pkgfile less pacman-contrib feh wallutils ohlinux-wallpaper 

Install the oh dependencies

paru it's also required.

Setup mode

pacstrap /mnt w3m rustup wget rsync archiso git arch-wiki-lite archinstall man-pages arch-install-scripts aurpublish distrobox toolbox vim

After install mode

sudo pacman -S --needed w3m rustup git wget archiso rsync git arch-wiki-lite archinstall man-pages arch-install-scripts aurpublish distrobox toolbox vim

Generate fstab

genfstab -U /mnt >> /mnt/etc/fstab

Enter in the new system

oh-chroot /mnt && cd ~

Manage accounts

Create your account

useradd -m -g wheel -c 'YOUR REAL NAME' -s <shell> <username>

Generate root password

passwd root

Generate your password

passwd <username>

Add your account to sudoers file

echo '<username> ALL=(ALL) ALL' > /etc/sudoers.d/<username>

Sign in

su - <username>

Configure rust

rustup default stable

Modify the pacman configuration

sudo vim /etc/pacman.conf

Refresh repositories

sudo pacman -Sy

Paru

git clone https://aur.ohlinux.org/paru 
cd paru
makepkg -si 
cd ..
rm -rf paru

Manager

From GitHub

git clone https://github.com/otechdo/oh 
cd oh 
make
sudo make install

From Aur

paru -Syu oh

Run the setup

oh --setup

Quit the fresh new system

exit

Unmounted all partitions

umount -R /mnt

Reboot

reboot