Jade is the backend and TUI installer for crystal linux.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Hericium VEVO 33b9baa477 Deleted template.md 2 years ago
.github/workflows feat: replace github with gitlab 2 years ago
.idea Change argument parsing to use clap v3 derive 3 years ago
src Add `vazirmatn-fonts` to base installation 2 years ago
.envrc Various flake improvements 2 years ago
.gitignore Various flake improvements 2 years ago
.gitlab-ci.yml feat: add gitlab ci 2 years ago
Cargo.lock update cargo lock file 2 years ago
Cargo.toml update cargo lock file 2 years ago
LICENSE Create LICENSE 2 years ago
README.md Update template.md, README.md 2 years ago
example_config.json Update example_config.json 2 years ago
flake.lock Various flake improvements 2 years ago
flake.nix Various flake improvements 2 years ago

README.md

Jade

Jade is an installer backend for crystal linux.

Backend usage

Autopartition the drive

# autopartition /dev/sda with efi enabled
$ crystal-jade partition auto /dev/sda --efi

# autopartition /dev/nvmen0 with efi disabled
$ crystal-jade partition auto /dev/nvmen0

Install base packages

$ crystal-jade install-base

Install bootloader

# install as efi with esp being /boot/efi
$ crystal-jade bootloader grub-efi /boot/efi

# install as legacy on /dev/sda
$ crystal-jade bootloader grub-legacy /dev/sda

Generate fstab

$ crystal-jade genfstab

Configuring locale settings

# set the keyboard layout to colemak, the timezone to Europe/Berlin and set en_US.UTF-8 as the locale
$ crystal-jade locale colemak Europe/Berlin en_US.UTF-8 UTF-8

Configure network settings

# set the hostname to getcryst.al with ipv6 disabled
$ crystal-jade networking getcryst.al 

# set the hostname to getcryst.al with ipv6 enabled
$ crystal-jade networking getcryst.al --ipv6

Setup zramd

# install and enable zramd
$ crystal-jade zramd

Configure users

# make a new user called nonRootHaver, without sudo, easytohack as the password and bash as the default shell
$ crystal-jade users new-user nonRootHaver easytohack bash

# make a user called rootHaver, with sudo, omgsosuperhardtohack as the password and fish as the default shell
$ crystal-jade users new-user rootHaver omgsuperhardtohack fish --hasroot

Set root password

# set the root password to 'muchSecurity,veryHardToHack'
$ crystal-jade users root-password muchSecurity,veryHardToHack

Install a desktop environment

# install onyx
$ crystal-jade desktops onyx

# install gnome
$ crystal-jade desktops gnome

Setup timeshift

$ crystal-jade setup-timeshift

Setup flatpak

$ crystal-jade flatpak

Debug logging

debug messages:

$ crystal-jade -v

traces:

$ crystal-jade -vv

Non-secret Secret

echo "$ crystal-jade_UWU=true" >> ~/.zshrc
echo "$ crystal-jade_UWU=true" >> ~/.bashrc
set -Ux $ crystal-jade_UWU true

if you want to have your log and crash output be “cute”

🙌 Contributing

If you'd like to contribute to Jade, please follow the Crystal Linux contributing guidelines!

This project uses rustup, to set up cargo for Jade development, please follow the guidelines below:

Debug/development builds

  • cargo build

Optimised/release builds

  • cargo build --release

📜 License

GPLv3-only