CLI net-installer for CachyOS, inspired by manjaro-architect
This installer provides online installation for CachyOS.
Fast and smooth installer for Arch based operating system.
- C++23 feature required (tested with GCC 14.1.1 and Clang 18) Any compiler which support C++23 standard should work.
This is tested on Arch Linux, but any recent Linux with latest C++23 compiler should do:
sudo pacman -Sy \
base-devel cmake pkg-config ninja clang mold llvm
git clone https://github.com/cachyos/new-cli-installer.git
cd new-cli-installer
To build, first, configure it(if you intend to install it globally, you
might also want -DCMAKE_INSTALL_PREFIX=/usr
):
cmake -S . -B build
Second, build it:
cmake --build build
To build, first, configure it (if you intend to install it globally, you
might also want --prefix=/usr
):
meson build
Second, compile it:
meson compile -C build
Optionally, to disable developer environment:
pass -DENABLE_DEVENV=OFF
to cmake or -Ddevenv=false
to meson when configuring the project.
- Functional Terminal (X) User interface used for TUI.
- A modern formatting library used for formatting strings, output and logging.
- Fast C++ logging library used for logging process of the installer.
- Parsing gigabytes of JSON per second used for config deserialization.
- Curl for People used for connection check and maybe in future fetching netinstall config from github.
- Ranges used for ranges support.
Simple menu overview:
TODO: should be simple as Calamares Installer
Advanced menu overview:
Main Menu
|
βββ Prepare Installation
| βββ Set Virtual Console
| βββ List Devices
| βββ Partition Disk
| βββ RAID (WIP)
| βββ LUKS Encryption
| βββ Logical Volume Management (WIP)
| βββ Mount Partitions
| βββ Configure Installer Mirrorlist
| | βββ Edit Pacman Configuration
| | βββ Rank Mirrors by Speed (TODO)
| |
β βββ Refresh Pacman Keys
|
βββ Install System
β βββ Install Base Packages
β βββ Install Desktop
β βββ Install Bootloader
β βββ Configure Base
| β βββ Generate FSTAB
| β βββ Set Hostname
| β βββ Set System Locale
| β βββ Set Timezone and Clock
| β βββ Set Root Password
| β βββ Add New User(s)
| β
β βββ Install Custom Packages
β βββ System Tweaks
| β βββ Enable Automatic Login
| β βββ Performance
| | βββ I/O schedulers
| | βββ Swap configuration
| β
β βββ Review Configuration Files
β βββ Chroot into Installation
|
βββ System Rescue
βββ Install Hardware Drivers
β βββ Install Display Drivers
β βββ Install Network Drivers (TODO)
|
βββ Install Bootloader
βββ Configure Base
| βββ ... (see 'Install System')
β
βββ Install Custom Packages
βββ Remove Packages
βββ Review Configuration Files
βββ Chroot into Installation
βββ Data Recovery (TODO)
β βββ Btrfs snapshots..
β
βββ View System Logs
βββ Dmesg
βββ Pacman log
βββ Xorg log
βββ Journalctl