diff --git a/README.md b/README.md new file mode 100755 index 0000000..28eecc5 --- /dev/null +++ b/README.md @@ -0,0 +1,85 @@ + + Logo + +

+

Jade

+

+ Discord +

+ +

Jade is the backend and TUI installer for crystal linux.

+ +## Use the TUI (not implemented yet) +just run
+`jade` + +## Backend usage + +### autopartition the drive +```sh +# autopartition /dev/sda with efi enabled +jade partition auto /dev/sda --efi + +# autopartition /dev/nvmen0 with efi disabled +jade partition auto /dev/nvmen0 +``` + +### configuring locale settings +```sh +# set the keyboard layout to colemak, the timezone to Europe/Berlin and set en_US.UTF-8 as the locale +jade locale colemak Europe/Berlin "en_US.UTF-8 UTF-8" +``` + +### configue network settings +```sh +# set the hostname to getcryst.al with ipv6 disabled +jade networking getcryst.al + +# set the hostname to getcryst.al with ipv6 enabled +jade networking getcryst.al --ipv6 +``` + +### configure users +```sh +# make a new user called nonRootHaver, without sudo and easytohack as the password +jade users newUser nonRootaver false easytohack + +# make a user called rootHaver, with sudo and omgsosuperhardtohack as the password +jade users rootHaver true omgsosuperhardtohack +``` + +### set root password +```sh +# set the root password to 'muchSecurity,veryHardToHack' +jade users rootPass muchSecurity,veryHardToHack +``` + +### install a desktop environment +```sh +# install onyx +jade desktops onyx + +# install gnome +jade desktops gnome +``` + +## How to build: + +Tested on latest Cargo (1.60.0-nightly) + +
+ +#### Debug/development builds + +- `cargo build` + +#### Optimised/release builds + +- `cargo build --release` + + +echo "JADE_UWU=true" >> ~/.zshrc +echo "JADE_UWU=true" >> ~/.bashrc +set -Ux JADE_UWU true + +if you want to have your log and crash output be "cute" \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index db16934..50753c4 100755 --- a/src/main.rs +++ b/src/main.rs @@ -61,7 +61,10 @@ fn main() { .arg( Arg::with_name("ipv6") .help("Wether ipv6 should be enabled") - .required(true), + .short("i6") + .long("ipv6") + .required(true) + .takes_value(false), ) ) .subcommand( @@ -125,7 +128,7 @@ fn main() { locale::set_keyboard(kbrlayout); locale::set_timezone(timezn); } else if let Some(app) = app.subcommand_matches("networking") { - network::enable_ipv6(app.value_of("ipv6").unwrap().parse::().unwrap()); + network::enable_ipv6(app.is_present("ipv6")); network::set_hostname(app.value_of("hostname").unwrap()) } else if let Some(app) = app.subcommand_matches("users") { if let Some(app) = app.subcommand_matches("newUser") {