4 releases (breaking)
0.4.0 | Jul 9, 2022 |
---|---|
0.3.0 | Mar 21, 2022 |
0.2.0 | Mar 13, 2021 |
0.1.0 | Dec 27, 2020 |
#784 in Configuration
27KB
713 lines
Wagon
Utility to make dotfiles portable with symbolic links
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
Dependencies
~9–22MB
~246K SLoC