CachyOS CLI 安装程序
Go to file
Vladislav Nepogodin 51a0dac44c
👷 split v1 repo with v3
2023-01-19 03:43:01 +04:00
.github/workflows 🔧 Add build without DEVENV to CI 2023-01-17 02:20:02 +04:00
cmake 👷 add git version 2022-12-09 02:55:15 +04:00
docs 🧹 cleanup the docs 2022-08-13 02:34:17 +04:00
src 👷 split v1 repo with v3 2023-01-19 03:43:01 +04:00
subprojects ♻ update deps 2022-12-27 18:22:39 +04:00
tests 🚧 fix compilation 2022-12-31 01:49:07 +04:00
.clang-format Add CI 2022-11-20 04:15:47 +04:00
.clang-tidy 👷 update ui 2021-12-05 04:15:34 +04:00
.gitignore 🐛 add ctre dep to meson 2022-08-14 01:45:45 +04:00
CMakeLists.txt 👷 push v3 repo as first repo natively 2023-01-18 03:07:00 +04:00
configure.sh ♻ update year 2023-01-08 19:34:49 +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 👷 move tests to separate folder 2022-08-08 00:55:17 +04:00
meson.build 🧹 remove unused code 2022-12-31 01:29:38 +04:00
README.md 👷 use clang & mold by default 2022-07-30 23:15:36 +04:00
settings.json 🚧 oops 2022-08-13 02:36:44 +04:00
test.json 🔥 use simdjson instead of nlohmannjson 2021-12-31 18:24:03 +04:00
Vagrantfile 🔧 Adjust VagrantFile 2022-08-18 04:00:14 +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++20 feature required (tested with GCC 11.1.0 and Clang 13) Any compiler which support C++20 standard should work.

Installing from source

This is tested on Arch Linux, but any recent Linux with latest C++20 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