CachyOS CLI 安装程序
Go to file
Vladislav Nepogodin 4297a1f43f
🚧 fix cachyos repo addition
remove additional check if one of the repos persist,
then return from function and do nothing.

logic was wrong anyway. here we was checking the
persitance of the repos only to add keyrings.
2023-04-02 03:21:37 +04:00
.github/workflows 👷 add new function to control pacmanconf repos 2023-01-21 17:17:04 +04:00
cmake 👷 add git version 2022-12-09 02:55:15 +04:00
docs 👷 add partition field to the config 2023-01-28 02:09:33 +04:00
src 🚧 fix cachyos repo addition 2023-04-02 03:21:37 +04:00
subprojects ♻ update deps 2022-12-27 18:22:39 +04:00
tests 👷 add new function to control pacmanconf repos 2023-01-21 17:17:04 +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 [skip ci] 🚧 fix compilation 2023-01-21 11:19:00 +04:00
README.md 👷 use clang & mold by default 2022-07-30 23:15:36 +04:00
settings.json 👷 add partition field to the config 2023-01-28 02:09:33 +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