#profile #config-file #directory #init #install #reinstall #dotbot

bin+lib dotsy

一个基本的配置文件管理器,用于取代我使用的 dotbot

12 个版本 (6 个破坏性更新)

0.7.0 2022 年 9 月 18 日
0.6.0 2022 年 9 月 16 日
0.5.0 2022 年 9 月 16 日
0.4.0 2022 年 1 月 17 日
0.1.4 2022 年 1 月 11 日

#542配置

每月 38 次下载

MIT 许可证

30KB
717 代码行

Dotsy

一个巨大的 WIP... 实际上大部分功能还不工作,所以请勿下载 😂 最终会完成 🤦

这个项目的想法是能够从文件树中的任何位置管理和重新安装配置或配置文件。例如

ls ~/
> ~/Dotfiles
> ~/dev
pwd
> ~/dev/supercool-project/

dotsy config -i neovim
# ^ This would install your neovim config without moving you
# out of the directory or context you're currently in (i've felt this is useful 
# when I break things)

在新机器上开始使用理论上只需在克隆 dotfiles 后运行此命令即可

cargo install dotsy
dotsy init
# ^ After this you would have to fill in the config file with the location
# of your dotfiles but this step could be skipped if you have a .dotsyrc in your
# dotfiles repo
dotsy profile -i <name of profile to install>

规划

命令结构?

  • dotsy profile install<配置文件-名称/'s'>
  • dotsy profile uninstall<配置文件-名称/'s'>
  • dotsy config install<配置-名称/'s>
  • dotsy config uninstall<配置-名称/'s>
  • dotsy config list
  • dotsy profile list

文件结构

  • configs/
    • config/
      • <name>/
      • <name>.json
  • profiles/
    • <name>.json
  • .dotsyrc (这将包含全局选项,例如包管理器的安装和卸载命令等...)

test-config.json

所有内容都是可选的

{
  "description": "Test config",
  "links": [{ "from": "./test", "to": "~/test" }],
  "directories": ["~/Test-Dir"],
  "packages": ["npm"],
  "shell": ["npm i test"],
  "revert-shell": ["npm uninstall test"]
}

profile.json 示例

除了配置外,所有内容都是可选的

{
  "description": "Test profile",
  "configs": ["test-config"],
  "directories": ["~/Documents"],
  "packages": ["nvim"],
  "shell": ["npm i test"],
  "revert-shell": ["npm uninstall test"]
}

依赖项

~11–21MB
~356K SLoC