Download the file from releases
Download from crates.io: cargo install xdm. And remember to add ~/.cargo/bin/ into your $PATH
Clone the source code with git. Then run cargo install --path .. And remember to add ~/.cargo/bin/ into your $PATH
https://aur.archlinux.org/packages/xdm
paru -S xdmRun
xdm -hfor more details
First you should create a yaml file named xdm.yaml (not prerequisite, but recommend).
Then you can run xdm s in a directory which has the yaml file. Xdm will find the xdm.yaml automatically in the current directory. Or you're able to use xdm s file.yaml to specify a yaml file.
Also, you can link a specific a directory or file.
You can set manual true in your link parameter (see configuration).
If a link is manual, it won't be crated after run xdm s. But you can create it manually:
xdm link {path}Also, link command can work in all links, whether it'is manual or not.
And you can crate all links with xdm s -a
You can use add command to add a link item into your configuration automatically. For example:
xdm a aThen the following will add into your configuration:
link:
# add by xdm
a:
path: bBTW, the link is added is absolutize. And it don't use a simple way: a: b in order to let you add other parameter more easily.
Notice: This feature will change your configuration. Your configuration probably be messy, but it still legal. Maybe fix it in the futrue.
For example:
link:
./path-to-original-file:
path: ./path-to-linked-file
./nvim: ~/repos/nvim
./tmux:
path: ~/.tmux.conf
if: test -e /usr/bin/tmux # for fish shell
create:
- ~/reposNotice: you must have link option.
Link a file/directory.
What's more, the two following form is same, it can reduce your work:
link:
./a:
path: b
./a: b| Parameter | Explanation | type | default |
|---|---|---|---|
| path | The file path to linked file | string | \ |
| exist | Only create the link if the original file exists | bool | true |
| force | Create the link whether the linked file exists or not | bool | false |
| if | Create the link if shell command is true (WIP) | string | \ |
| create | Create the parent directory of link if need | bool | true |
| manual | Check here | bool | false |
| relink | Auto relink if the linked path is a link | bool | true |
Create a directory
inspried by dotbot
Whether path-to-linked-file is a directory or file, it shouldn't end with /.
But path-to-original-file should end with / or not is base on yourself.
- add support for AUR
