CachyOS CLI 安装程序
Go to file
2024-07-29 03:05:30 +04:00
.github/workflows 👷 gucc: add refind installation 2024-07-28 16:42:26 +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 👷 add partition field to the config 2023-01-28 02:09:33 +04:00
gucc 🧹 gucc: refactor with clang-tidy 2024-07-29 00:42:58 +04:00
src 🚧 utils: fix partition dump for nullopt subvol 2024-07-29 03:05:30 +04:00
subprojects 👷 build: update cpr depend and explicitly tell CTRE to use C++23 standard 2024-07-25 01:40:19 +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 👷 build: update cpr depend and explicitly tell CTRE to use C++23 standard 2024-07-25 01:40:19 +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 🚧 fix meson build 2024-07-27 03:57:42 +04:00
net-profiles.toml 👷 get env packages from toml file parsed by gucc 2024-07-09 03:17:41 +04:00
README.md 🧹 README: fix typo. missed version 2024-07-24 00:14:17 +04:00
settings.json 🚧 settings: fix sample config 2024-07-28 18:15:45 +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++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