Crates.io | wagon |
lib.rs | wagon |
version | 0.4.0 |
source | src |
created_at | 2020-12-27 13:22:50.673158 |
updated_at | 2022-07-09 08:07:23.971483 |
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