diff --git a/README.md b/README.md new file mode 100644 index 0000000..5c3737f --- /dev/null +++ b/README.md @@ -0,0 +1,108 @@ +# Config Example +`[ + {"boot": [ + {"grub": [ + {"themes": + ["GradientGuy"]} + ]} + ]}, + {"etc": [ + "installList.txt", + "mkinitcpio.conf", + "pacman.conf", + {"default": + ["grub"]}, + {"pacman.d": ["hooks"]}, + {"iwd": + ["main.conf"]}, + {"udev": [ + {"rules.d": [ + "60-thrustmaster.rules", + "80-yubikey.rules" + ]} + ]} + ]}, + {"usr": [ + {"share": [ + {"applications": [ + "spotify.desktop", + "org.gnome.Evolution.desktop" + ]}, + {"icons": [ + {"default": ["index.theme"]} + ]} + ]} + ]}, + {"home": [ + {"$USER": [ + ".zshrc", + {".config": [ + "btop", + "dunst", + "eww", + "hypr", + "kitty", + "qt5ct", + "rofi", + "spotify-tui", + "swaylock", + "zsh", + "gtk-3.0", + "cron", + {"systemd": [ + {"user": ["spotifyd.service"]} + ]}, + "nvim" + ]} + ]} + ]} +]` + +# Dotfiles Help Output +`CLI utility to help with managing user dotfiles + +Usage: dotfiles [OPTIONS] + +Commands: + collect Collect files into a destination file + install Installs dotfiles from a git url + help Print this message or the help of the given subcommand(s) + +Options: + -c, --config + The file path to the config file [default: config.json] + -d, --destination + The path to the directory to do work in [default: ~/dotfiles] + -u, --use-username + Whether to treat the user's home folder as their username or "$USER" + -h, --help + Print help + -V, --version + Print version` + +# Collect Help Output +`Collect files into a destination directory + +Usage: dotfiles collect + +Options: + -h, --help Print help` + +# Install Help Output +`Installs dotfiles from a git url. + +The repo either needs to have: + +1)a config contained in the root directory + +2)a config written to match the file structure of the repo + +Usage: dotfiles install + +Arguments: + + The git url to pull the repo from + +Options: + -h, --help + Print help (see a summary with '-h')` diff --git a/src/config.rs b/src/config.rs index 8dda5b6..3fac277 100644 --- a/src/config.rs +++ b/src/config.rs @@ -28,14 +28,17 @@ pub struct Args { } #[derive(Subcommand, Debug)] pub enum Commands { - /// Collect files into a destination file + /// Collect files into a destination directory Collect, /// Installs dotfiles from a git url. /// /// The repo either needs to have: + /// /// 1)a config contained in the root directory + /// /// 2)a config written to match the file structure of the repo Install { + /// The git url to pull the repo from #[arg(required = true)] url: String, },