diff --git a/README.md b/README.md
new file mode 100755
index 0000000..28eecc5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,85 @@
+
+
+
+
+Jade
+
+
+
+
+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") {