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

使用 chezmoi & vscode, 管理你的 dotfiles

时间:2024-04-27 12:00:51浏览次数:28  
标签: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/18161898

相关文章

  • vscode debug: #include errors detected. Please update your includePath
    比如说文件树如下-src-x.cpp-x.hpp那么在x.cpp中直接#include"x.hpp"是没问题的,因为这个按相对路径来说可以直接搜到 但是如果文件树如下-src-x.cpp-head-x.hpp由于x.cpp和x.hpp不在同一个文件夹下,所以需要按相对路径如下#include".......
  • vscode 配置c/c++环境,无法生成 *.exe文件
    ​【问题】:    使用vscode配置c/c++环境时,提示无法构建失败。 【解决方案】:    1.当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误。    2.F5调试时,终端输出错误调试信息如下:启动调试任务时,执行了2条命令。1)cmd/c......
  • window下使用vscode和cmake开发编译cpp代码
    window下使用vscode和cmake开发编译cpp代码1.先准备cpp编译环境还是要先使用vscode和mingw搭建好cpp开发环境,因为cmake不是一个编译工具,它只不过是根据CMakeLists.txt文件生成Makefile文件,Makefile文件再通过make规则使用gcc、g++等工具去实践编译代码。使用vscode和mingw......
  • window下使用vscode和mingw搭建cpp开发环境
    window下使用vscode和mingw搭建cpp开发环境1.下载安装MinGWMinGW是一款在Windows平台上运行的GNU工具集,它提供了一套构建应用程序的开发工具,包括GNUC/C++编译器、GDB调试器、GNU二进制工具等。它可以用于开发Windows应用程序,也可以用于开发跨平台的应用程序。MinGW的全称是Mi......
  • godot4.2 vscode配置
    launch.json文件{//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{"name":......
  • 如何在 VSCode 中配置和编写 LINGO
    目录如何在VSCode中配置和编写LINGO安装VSCode扩展LINGO脚本文件与runlingo命令LINGO命令行交互和脚本文件配置VisualStdioCode的设置配置LTF文件的代码高亮关于文件兼容的一些小问题如何在VSCode中配置和编写LINGOLINGO是用来解决优化问题的一个特别好用的......
  • vscode 提示导入的第三方包 路径不正确 ,要怎么解决?
    问题:vscode提示导入的第三方包路径不正确,如:import{Modal}from"node_modules/antd/lib/index";应该是import{Modal}from"antd";要怎么解决?回答要让VSCode在自动导入时不使用node_modules的完整路径,可按以下步骤操作:打开VSCode进入设置页面,你可以通过顶部菜......
  • VSCode终端为什么不能输入任何命令,打开的时候一片空白
    索引:VSCode终端为什么不能输入任何命令,打开的时候一片空白。。。解决办法:使用cmd本地终端,进入远程服务器,然后进入root目录下,把vscode-server目录删除,重新通过vscode进入详细步骤:关闭所有vscode与服务器的连接使用非vscode终端ssh到服务器杀死服务器上运行的所有vs......
  • 前端vscode配置
    {"window.zoomLevel":1,"liveServer.settings.donotShowInfoMsg":true,"editor.tabSize":2,"editor.tabCompletion":"on","editor.fontSize":16,"git.autofetch":true,"editor.stic......
  • 用 VSCode 编写 Markdown
    用VSCode编写Markdown1.环境配置1.1.安装VSCode插件在VSCode中依次搜索并安装以下插件:MarkdownAllinOne-实现一些基础的Markdown编写体验,比如快捷键、列表编辑、自动生成目录等等MarkdownPreviewEnhanced-实现github风格的预览、支持导出为HTML、PDF......