8 releases (4 breaking)

Uses new Rust 2021

new 0.5.0 Nov 26, 2021
0.4.0 Nov 16, 2021
0.3.1 Nov 6, 2021
0.3.0 Oct 27, 2021
0.1.1 Oct 6, 2021

#44 in Configuration

Download history 37/week @ 2021-10-05 37/week @ 2021-10-12 10/week @ 2021-10-19 19/week @ 2021-10-26 19/week @ 2021-11-02 7/week @ 2021-11-09 27/week @ 2021-11-16 21/week @ 2021-11-23

74 downloads per month
Used in dt-cli

MIT/Apache

96KB
2K SLoC

DT

release tests docs crates.io

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"
basedir = "~/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 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

~1–1.7MB
~39K SLoC