wagon

Crates.iowagon
lib.rswagon
version0.4.0
sourcesrc
created_at2020-12-27 13:22:50.673158
updated_at2022-07-09 08:07:23.971483
descriptionA command line utility to manage configuration files in one place
homepage
repositoryhttps://github.com/yasuyuky/wagon
max_upload_size
id327824
size45,474
Yasuyuki YAMADA (yasuyuky)

documentation

README

Wagon

Utility to make dotfiles portable with symbolic links

build

Installation

cargo install wagon

Usage

Create the dotfiles in your git-controlled directory.

Place dotfiles in a subdirectory such as the following.

dotfiles
├── .bashrc
├── .config
│   ├── direnv
│   │   ├── .gitignore
│   │   └── direnvrc
│   ├── flake8
│   ├── git
│   │   └── ignore
│   ├── peco
│   │   └── config.json
│   ├── starship.toml
│   └── yapf
│       └── style
├── .gitconfig
├── .ssh
│   └── config
├── .tmux.conf
├── .vim
├── .vimrc
├── .vscode
│   └── settings.json
├── .zsh
└── .zshrc

Then execute the following command, and symbolic links to your files will be created in your home.

wagon link .

You can also use the copy subcommand to copy files.

wagon copy .

wagon repo Command

wagon repo OWNER/REPO # for example yasuyuky/wagon

This command will checkout the GitHub Repository to ~/src/github.com/OWNER/REPO

Configuration

The .wagon.toml file controls the behavior of the command.

dest field

By default, the command links the configuration file under your home. If you want to change this behavior, set the dest field.

"dest" = "/"

init field

The init field can be used to initialize the application to use each configuration file.

[[init]]
command = "brew"
args = ["install", "direnv"]
os = "macos"

For example, you can use the following command to run the initial configuration.

wagon init direnv
Commit count: 954

cargo fmt