| Crates.io | wagon |
| lib.rs | wagon |
| version | 0.4.0 |
| created_at | 2020-12-27 13:22:50.673158+00 |
| updated_at | 2022-07-09 08:07:23.971483+00 |
| description | A command line utility to manage configuration files in one place |
| homepage | |
| repository | https://github.com/yasuyuky/wagon |
| max_upload_size | |
| id | 327824 |
| size | 45,474 |
Utility to make dotfiles portable with symbolic links
cargo install wagon
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 Commandwagon repo OWNER/REPO # for example yasuyuky/wagon
This command will checkout the GitHub Repository to ~/src/github.com/OWNER/REPO
The .wagon.toml file controls the behavior of the command.
dest fieldBy default, the command links the configuration file under your home. If you want to change this behavior, set the dest field.
"dest" = "/"
init fieldThe 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