23 releases (6 breaking)
0.7.9 | Jun 8, 2022 |
---|---|
0.7.6 | Mar 27, 2022 |
0.6.0 | Dec 26, 2021 |
0.5.0 | Nov 26, 2021 |
#436 in Configuration
215KB
4.5K
SLoC
DT
DT
allows you to sync/populate configuration files at will. It currently
provides a CLI tool dt-cli
.
Usage
The command line interface dt-cli
accepts a path to the configuration file
as an argument and performs the syncing process specified in the file.
Configuration guides and detailed usages can be found in the documentations.
Example
A simple working configuration file to sync all files from ~/dt/nvim
to
~/.config/nvim
that matches *init.vim
can be written as:
[[local]]
name = "Neovim Configs"
base = "~/dt/nvim"
sources = ["*init.vim"]
target = "~/.config/nvim"
⚠️ STOP HERE if you don't know what you are doing, or have not backed
up existing files under ~/.config/nvim
.
Save above config to ~/.config/dt/cli.toml
and run
$ dt-cli -c ~/.config/dt/cli.toml
to start syncing. Note the path in this example (~/.config/dt/cli.toml
) is
also the default path, so the below command (calling dt-cli
with no argument)
does the same thing as above:
$ dt-cli
Other command line flags & options
Flags | Description |
---|---|
-d|--dry-run |
Shows changes to be made without actually syncing files. |
-h|--help |
Prints help information. |
-q|--quiet |
Decreases logging verbosity. |
-v|--verbose |
Increases logging verbosity. |
-V|--version |
Prints version information. |
Options | Description |
---|---|
-c|--config-path <path> |
Specifies path to config file. |
Args | Description |
---|---|
<group-name>... |
Specifies name(s) of the group(s) to be processed |
Install
AUR
dt-cli
is in the AUR, you can
install it with your favorite package manager:
$ paru -S dt-cli
Alternative ways
Alternatively, you can:
-
Download latest release from GitHub
-
Install from crates.io:
$ cargo install dt-cli
-
Build from source:
$ git clone git@github.com:blurgyy/dt.git $ cd dt $ cargo test --release $ cargo install --path=dt-cli
Contributing
There are numerous ways to help with this project. Let's get started!
License
Licensed under the the MIT license http://opensource.org/licenses/MIT or Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0, at your option. This file may not be copied, modified, or distributed except according to those terms.
Dependencies
~10–20MB
~280K SLoC