CachyOS CLI 安装程序
Go to file
Vladislav Nepogodin f054a1d629
Some checks failed
Build / Build with CMake (push) Has been cancelled
Build / Build with CMake (DEVENV OFF) (push) Has been cancelled
Build / Build with Meson (push) Has been cancelled
Build / Build with Meson (DEVENV OFF) (push) Has been cancelled
Checks / cpp-linter (push) Has been cancelled
Checks / Check C++ style (push) Has been cancelled
🚧 chwd: remove obsolete flags
2025-01-14 02:40:57 +04:00
.github/workflows 🚧 CI: enable partitioning gen test 2025-01-13 04:01:34 +04:00
cmake 👷 build: update cpr depend and explicitly tell CTRE to use C++23 standard 2024-07-25 01:40:19 +04:00
docs 🚧 chwd: remove obsolete flags 2025-01-14 02:40:57 +04:00
gucc 👷 gucc: add function to partition device using sfdisk command 2025-01-13 03:55:40 +04:00
src 🚧 chwd: remove obsolete flags 2025-01-14 02:40:57 +04:00
subprojects ♻ update CTRE 2024-08-17 03:28:35 +04:00
tests 🚧 fix meson build 2024-06-26 21:48:45 +04:00
.clang-format Add CI 2022-11-20 04:15:47 +04:00
.clang-tidy 🔧 clang-tidy: extend checks 2024-04-29 18:29:01 +04:00
.gitignore 🐛 add ctre dep to meson 2022-08-14 01:45:45 +04:00
CMakeLists.txt ♻ update CTRE 2024-08-17 03:28:35 +04:00
configure.sh ♻ update year 2024-01-16 01:30:53 +04:00
demo.gif 🔥 add demo 2022-02-24 04:44:31 +04:00
Dockerfile 👷 apply iwyu 2021-12-02 11:57:21 +04:00
LICENSE 🚧 prepare for release 2022-01-05 04:30:40 +04:00
meson_options.txt 🚧 fix meson build 2024-06-26 02:48:27 +04:00
meson.build 👷 gucc: use doctest instead of raw C asserts 2024-08-09 14:52:49 +04:00
net-profiles.toml net-profiles: Add gnome group 2024-09-29 16:15:41 +02:00
README.md 🧹 README: fix typo. missed version 2024-07-24 00:14:17 +04:00
settings.json 🚧 chwd: remove obsolete flags 2025-01-14 02:40:57 +04:00
test.json 🔥 use simdjson instead of nlohmannjson 2021-12-31 18:24:03 +04:00
Vagrantfile 🚧 chwd: remove obsolete flags 2025-01-14 02:40:57 +04:00

Demo image

cachyos-new-installer

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.

Requirements

  • C++23 feature required (tested with GCC 14.1.1 and Clang 18) Any compiler which support C++23 standard should work.

Installing from source

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

Cloning the source code

git clone https://github.com/cachyos/new-cli-installer.git
cd new-cli-installer

Building and Configuring

cmake(recommended):

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

meson:

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.

Libraries used in this project

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