This commit is contained in:
Joshua Perry 2024-01-01 15:08:18 +00:00
parent b90697486d
commit ad704f1bb1
2 changed files with 112 additions and 1 deletions

108
README.md Normal file
View File

@ -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] <COMMAND>
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 <CONFIG_FILE_PATH>
The file path to the config file [default: config.json]
-d, --destination <DESTINATION_DIR_PATH>
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 <URL>
Arguments:
<URL>
The git url to pull the repo from
Options:
-h, --help
Print help (see a summary with '-h')`

View File

@ -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,
},