首页 > 其他分享 >使用 chezmoi & vscode, 管理你的 dotfiles

使用 chezmoi & vscode, 管理你的 dotfiles

时间:2024-03-23 17:57:46浏览次数:20  
标签:dotfile vscode bashrc dotfiles 使用 chezmoi

什么是 dotfiles

In Unix-like operating systems, any file or folder that starts with a dot character (for example, /home/user/.config), commonly called a dot file or dotfile.
任何以 . 开头去命名的文件或者目录都可以称为 dotfile, 在 Unix-like 系统一般用的比较多, 但现在 dotfile 一般用于管理应用/软件的配置, 所以 Windows 平台上也可以看到 dotfile 的身影.

什么是 chezmoi

chezmoi 是使用 Go 编写的跨平台 dotfiles 管理工具, 使用同一的 Git 仓库进行配置同步, 可以很方便的帮助我们在多个开发环境共用一套配置, 免去一些同一工具链需要手工重新在多个机器配置的工作量.

开源社区流行的 dotfiles 管理工具很多, 我们可以在这个网站上可以看到: https://dotfiles.github.io/utilities/.

本篇文章主要介绍使用 chezmoi 进行 dotfiles 管理的一些基本流程, 还会介绍如何使用 vscode 配置 chezmoi 让配置管理体验更好的一些小技巧.

chezmoi 管理 dotfile 工作流

# 在使用 chezmoi 时, 需要先安装 chezmoi, 可以参考: https://www.chezmoi.io/install
sh -c "$(curl -fsLS get.chezmoi.io)"
# 安装完后初始化 chezmoi 的工作目录
chezmoi init
# 使用 chezmoi cd 可以直接切换到工作目录
chezmoi cd 
# 然后使用 git 将工作目录和代码仓库关联起来即可
git init
git remote add origin <your-git-repo>

官方文档也给出了使用 chezmoi 管理 dotfile 的工作流大概是怎么样的, 这里稍作解释:

chezmoi workflow

我们以 .bashrc 文件的管理为例子:

# Step 1、将 .bashrc 文件纳入 chezmoi 管控范围
# chezmoi 会将该文件拷贝到 chezmoi 工作目录下, 会重命名为 dot_bashrc, 使用 dot 替换 .
chezmoi add .bashrc
# .bashrc 文件纳入管控之后, 就不应该在修改配置的时候编辑 .bashrc 文件了, 而是编辑 chezmoi 工作目录下的 dot_bashrc 文件
# 可以切换去工作目录查看下
chezmoi cd
ls -al
# Step 2、配置的修改我们可以使用如下命令去修改, chezmoi 会使用文本编辑器打开对应的 dot_bashrc 文件
chezmoi edit ~/.bashrc
# Step 3、配置修改后是还没有应用到 .bashrc 文件的, diff 命令可以用来查看修改情况
chezmoi diff ~/.bashrc
# Step 4、想应用修改后的配置可以使用 apply 命令
chezmoi apply ~/.bashrc
# 至此已经基本完成一次 dotfile 的管理, 但为了想要在其他机器也使用这此改动, 是需要使用 git 做一次配置同步的

chezmoi 使用的一些小技巧与配置建议

1、替换 chezmoi edit 使用的默认编辑器为 vscode

chezmoi edit 默认根据 $VISUAL 或 $EDITOR 环境变量决定使用什么编辑器打开文件, 我们可以修改 chezmoi 的配置文件改变 chezmoi 文件的行为, 配置文件一般在 ~/.config/chezmoi 目录下, 参考配置如下:

# 控制 chezmoi edit 命令使用的编辑器, code --wait 会确保文件关闭再继续
# 配置文件在:  ~/.config/chezmoi/chezmoi.toml
[edit]
    command = "code"
    args = ["--wait"]

tips: chezmoi apply 应用修改后的配置时, 会根据 chezmoi 工作目录的层级去覆盖 HOME 目录对应的文件

2、替换 chezmoi diff 使用的 diff 工具为 vscode

万物皆可 vscode, 如果你想使用 vscode 的 dif 能力怎么办, 这里直接给出 chemoi 的参考配置:

# https://github.com/twpayne/chezmoi/discussions/2424
[diff]
command = "code"
args = ["--wait", "--diff", "{{ .Destination }}", "{{ .Target }}"]

[merge]
command = "bash"

3、敏感数据存储

如果你想用 chezmoi 管理你的密钥(例如: id_rsa ssh 密钥),同时又想把你的 dotfiles 配置在 GitHub 共享出来,chezmoi 自带了敏感数据存储的方案,可以使用 GPG、AGE 等对配置文件进行加密, 参考: https://www.chezmoi.io/user-guide/encryption/

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

标签:dotfile,vscode,bashrc,dotfiles,使用,chezmoi
From: https://www.cnblogs.com/sikongji-yeshan/p/18091396

相关文章

  • VSCode配置
    安装VSCode......
  • vscode --- 设置文件显示和搜索过滤
    打开setting.json {"search.exclude":{"**/node_modules":true,"**/bower_components":true,"dist/":true,"build/":true,"temp/":true,......
  • VScode 配置私钥免密登录
    VScode配置私钥免密登录配置公钥私钥进行免密登录在前文已经提及。在完成上述配置后,我们希望在VScode中配置,毕竟主要的开发环境还是在VScode上且连接到远程服务器会经常遇到网络不稳定需要重新输入密码登录的情况,所以更加凸显了配置私钥的必要性。前提条件本地主机中已有配置......
  • VsCode中高效书写Vue3代码的插件
    Vue-Official(原Volar)就是原先的Volar,现已弃用。Vue-Official提供的功能:语法高亮:Vue-Official扩展可以为Vue单文件组件(.vue文件)中的HTML、CSS和JavaScript部分提供语法高亮,使代码更易于阅读和编写。代码片段:Vue-Official扩展提供了丰富的Vue.js相关的......
  • vscode大小写快捷键
    实质意义上的使用PHP从去年6月开始的,作为初学者只能从简,省略能省略的,能产出能运行就成。同期使用的IDE是vscode,对不同的语言需安装对应的语法和编译模块觉得很酷,像apt,npm一样。久之,关注点得回到提升编写效率,像大小写转换,以前也就自个手敲两下,反复这么敲也占用专注度,像PHP,常用的PHP......
  • vscode 格式化
    {//vscode默认启用了根据文件类型自动设置tabsize的选项"editor.detectIndentation":false,//重新设定tabsize"editor.tabSize":2,//#每次保存的时候自动格式化"editor.formatOnSave":true,//#去掉代码结尾的分号"prettier.semi":false,//......
  • 使用vscode编辑c语言
    在VisualStudioCode(VSCode)中配置C语言环境步骤指南:一,前期准备(安装扩展,软件包)安装C/C++扩展打开VSCode。点击左侧边栏的扩展按钮(或使用快捷键Ctrl+Shift+X)。在搜索框中输入C/C++。从结果中找到Microsoft的C/C++扩展并点击“安装”。安装MinGW或......
  • vscode自用插件
    1)c/c++通用插件,支持语言的补全,格式化等操作。2)汉化包3)cmake工具包,提供cmake语法自动补全4)Letex支持5)美化工具,由于段前缩进的彩虹条6)美化工具,设置背景图片7)HTML支持8)TODO高亮显示......
  • git diff 查看文件修改提示“new mode 100644”和“old mode 100755”(使用 vscode 查
    使用vscode查看不出差异通过gitgui或者通过gitbash查看文件内容并没有修改,出现这个问题的原因是修改了文件的权限,文件的filemode发生了变化,比如执行了chmod命令。解决办法:切换到项目的根目录,执行如下命令,忽略filemode的变化即可gitconfig--addcore.filemodefa......
  • Linux vscode右上角布局按钮显示 & 顶部不显示搜索栏
    以下设置均在ubuntu上测试,windows可能类似。开启或关闭右上角布局按钮:勾选layoutcontrol同时注意,window.titleBarStyle需要设置为custom才会生效。关闭顶部中间的搜索框中间有个很占地方的搜索框设置里搜索commandcenter,取消勾选即可。(同样,titlebarstyle需要设置为cust......