4个版本
0.2.1 | 2023年10月20日 |
---|---|
0.2.0 | 2023年8月3日 |
0.1.1 | 2023年4月24日 |
0.1.0 | 2023年4月20日 |
#497 in 配置
22KB
504 行
一个简单的程序,可以帮助您将所有dotfiles链接到正确位置。
支持多个预设,以避免在每个机器上链接每个文件。
如需更多信息,请访问项目在 github 上的页面。
功能!
- 简单的 配置文件(TOML,YAML或JSON)。
- 支持为不同的机器配置 多个预设。
- 跨平台(Unix和Windows)。
- 不会覆盖链接或文件。
- 如果已存在链接,会检查它是否指向正确的文件。
真实案例使用(展示简单性)
我已经创建了自己的 dotfiles 仓库,并包含一个 dotlink.toml 文件。
在我的情况下,我只需克隆仓库并在其中运行dotlink。
$ git clone https://github.com/TheRealLorenz/dotfiles.git
$ cd dotfiles
$ dotlink -p macOS
程序会自动选择当前工作目录中的配置文件并将所有内容链接起来!
它如何工作?
dotlink依赖于名为dotlink.toml
、dotlink.yaml
或dotlink.json
的配置文件。
在配置文件中,您可以指定多个预设,每个预设都是一个条目向量。
预设是配置文件的顶级键。
有两种类型的条目
- 简单条目
[[preset_name]]
name = 'foo' # File name
to = '/path/to/destination' # Destination directory
rename = 'foo2' # Link name (optional, defaults to the file name)
preset_name:
- name: 'foo' # File name
to: '/path/to/destination' # Destination directory
rename: 'foo2' # Link name (optional, defaults to the file name)
{
"preset_name": [
{
"name": "foo", // File name
"to": "/path/to/destination", // Destination directory
"rename": "foo2" // Link name (optional, defaults to the file name)
}
]
}
- 多个条目
[[preset_name]]
names = [ 'foo', 'bar', 'baz' ] # Multiple file names
to = '/path/to/destination/' # Destination directory
preset_name:
- names: [ 'foo', 'bar', 'baz' ] # Multiple file names
to: '/path/to/destination/' # Destination directory
{
"preset_name": [
{
"names": [ "foo", "bar", "baz" ], // Multiple file names
"to": "/path/to/destination/" // Destination directory
}
]
}
然后程序会将指定由name
或names
的每个文件简单地符号链接到相应的to
。
用法
运行 dotlink -h
将显示帮助信息
Usage: dotlink [OPTIONS] [PATH]
Arguments:
[PATH]
Options:
-p, --preset <PRESET> Which preset to use [default: default]
-l, --list-presets
-F, --file <FILE> Custom config file location
--dry-run
-h, --help Print help
PATH
表示 dotfiles的路径。默认为 当前工作目录。
依赖关系
~6–17MB
~193K SLoC