1 个不稳定版本
0.3.0 | 2021年1月1日 |
---|
#605 在 配置
29KB
777 代码行
ipa
Ipa是另一个dotfiles管理器,可以用来通过配置文件安装和配置程序(目前只支持Arch Linux安装)。
动机
这个项目的主要动机是学习Rust开发并创建一个可以使用的工具。
安装
您可以使用来自GitHub发布页面的预构建二进制文件来安装ipa。请确保已安装glibc。
配置
Ipa使用一个yaml配置文件,您可以在其中描述要安装的所有软件包和配置文件。配置文件被分组,因此您可以创建配置组并在以后单独设置它们。
示例
gui: # group gui
- link:
src: ~/.dotfiles/config/i3blocks/config
dst: ~/.config/i3blocks/config
- package:
name: i3
link:
src: ~/.dotfiles/config/i3/config
dst: ~/.config/i3/config
- shell:
command: git clone https://github.com/vivien/i3blocks-contrib ~/.config/i3blocks/
dev: # group dev
- link:
src: ~/.dotfiles/config/git/gitconfig
dst: ~/.gitconfig
relink: true
- package:
name: neovim
link:
src: ~/.dotfiles/config/nvim
dst: ~/.config/nvim/
relink: true
- package:
name: tmux
link:
src: ~/.dotfiles/tmux/tmux.conf
dst: ~/.tmux.conf
shell:
command: git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Ipa将在目录根目录中搜索名为dotfiles.yml
的文件,因此您可以只需调用ipa
,但您也可以使用-f
标志来指定自定义文件名。
选项
您可以将ipa配置为安装软件包并创建配置文件的符号链接。
链接
link
负责创建符号链接。如果需要,可以配置项目以重新链接,覆盖现有文件。如果使用环境变量,则会自动展开。如果目标文件的目录不存在,ipa将自动创建,如果要禁用此行为,您可以使用create: false
格式
参数 | 描述 |
---|---|
src | 创建符号链接的配置文件的源。 |
dst | 要创建的目标配置文件。 |
relink | 如果已存在,则强制覆盖文件(默认为false)。 |
create | 如果不存在,则在dst路径中创建子目录(默认为true)。 |
示例
some_group:
link:
- src: ~/.dotfiles/config/ # Will link all files into ~/.config
dst: ~/.config
relink: true
软件包
package
负责安装程序。
格式
参数 | 描述 |
---|---|
名称 | 包名称。 |
示例
some_group:
package:
- name: neovim
Shell
shell
负责执行 bash 脚本。
格式
参数 | 描述 |
---|---|
命令 | 执行用的 Bash 命令。 |
示例
some_group:
shell:
- command: nvim +PlugInstall +qall
用法
安装配置文件的所有会话。
$ ipa -f config.yml
只安装具有 group
dev 的包/链接。
$ ipa -f config.yml --only dev
只安装没有 group
dev 的包/链接。
$ ipa -f config.yml --except dev
许可协议
依赖项
~3–11MB
~110K SLoC