New-Cli-Installer/README.md
Vladislav Nepogodin a348f980ce
👷 add autologin
2022-02-15 01:13:40 +04:00

4.2 KiB

cachyos-new-installer

CLI net-installer for CachyOS, inspired by manjaro-architect

This installer provides online installation for CachyOS.

Requirements

  • C++20 feature required (tested with GCC 11.1.0 and Clang 13(clang will not compile it with libstdc++ 11.1.0 because of c++20 standard ranges library) 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 make glibmm libnm

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


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 (TODO)
|   |   ├── Edit Pacman Configuration
|   |   ├── Edit Pacman Mirror Configuration
|   |   └── Rank Mirrors by Speed
|   |
│   └── Refresh Pacman Keys (TODO)
|
├── Install System
│   ├── Install Base Packages
│   ├── Install Desktop
│   ├── Install Bootloader
│   ├── Configure Base
|   │   ├── Generate FSTAB (seems broken)
|   │   ├── Set Hostname
|   │   ├── Set System Locale
|   │   ├── Set Timezone and Clock
|   │   ├── Set Root Password
|   │   └── Add New User(s) (seems broken)
|   │
│   ├── Install Custom Packages
│   ├── System Tweaks
|   │   ├── Enable Automatic Login
|   │   ├── Performance (TODO)
|   |   │   ├── I/O schedulers
|   |   │   ├── Swap configuration
|   |   │   └── zram
|   |   │
|   │   └── Security and systemd Tweaks (TODO)
|   |       ├── Amend journald Logging
|   |       ├── Disable Coredump Logging
|   |       └── Restrict Access to Kernel Logs
|   │
│   ├── Review Configuration Files (TODO)
│   └── Chroot into Installation
|
└── System Rescue
    ├── Install Hardware Drivers (TODO)
    │   ├── Install Display Drivers
    │   └── Install Network Drivers
    |
    ├── Install Bootloader
    ├── Configure Base
    |   └── ... (see 'Install System')
    │
    ├── Install Custom Packages
    ├── Remove Packages
    ├── Review Configuration Files (TODO)
    ├── Chroot into Installation
    ├── Data Recovery (TODO)
    │   └── Btrfs snapshots..
    │
    └── View System Logs (TODO)
        ├── Dmesg
        ├── Pacman log
        ├── Xorg log
        └── Journalctl