【Tools】chezmoi 跨多台不同的机器管理 dotfiles 的工具

chezmoi是一个跨多台不同的机器管理 dotfiles 的工具,方便每次在新的电脑/服务器的时候不用麻烦的重新配置一些 config 了

dotfile: 简言之就是应用程式的 config,例如~/.vimrc就是dotfile。Linux万物皆文件,Linux 文件名以点开头就会变成隐藏文件,一般也是配置文件,不让一般使用者看到。

1 安装

安装带自定义路径中:

bash 复制代码
sh -c "$(wget -qO- chezmoi.io/getlb)" -- -b $HOME/.local/bin

但是一般由于网络问题连不上,请开启代理,或者配置代理之后使用 proxy 命令:

bash 复制代码
sh -c "$(proxy wget -qO- chezmoi.io/getlb)" -- -b $HOME/.local/bin

由于是自定义安装路径在 $HOME/.local/bin ,所以在 .bashrc 或者 .zshrc 中加入PATH:

bash 复制代码
# echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
# source ~/.bashrc
source ~/.zshrc

2 使用

  1. 初始化 chezmoi

    bash 复制代码
    chezmoi init

    这会在 ~/.local/share/chezmoi 中创建一个新的 Git 本地仓库,chezmoi 将在此存储其源状态。

  2. 添加要管理的第一个文件:如将 ~/.bashrc 文件交给 chezmoi 管理

    bash 复制代码
    chezmoi add ~/.bashrc

    ~/.bashrc 会被复制到 ~/.local/share/chezmoi/dot_bashrc

  3. 查看和应用更改

    查看 chezmoi 将对文件系统做出的更改:

    bash 复制代码
    chezmoi diff

    然后应用更改到文件系统:

    bash 复制代码
    chezmoi -v apply
  4. 提交更改到 Git:进入 chezmoi 的源目录使用 Git 提交更改

    bash 复制代码
    chezmoi cd
    git add .
    git commit -m "Initial commit"
  5. 推送到 GitHub:先创建一个名为 dotfiles 的 GitHub 仓库,然后运行以下命令,将 dotfiles 推送到远程仓库:

    bash 复制代码
    git remote add origin git@github.com:$GITHUB_USERNAME/dotfiles.git
    git branch -M main
    git push -u origin main

3 设置新机器

直接通过一行命令即可将在 Github 上的已有的 dotfile 存储库配置到这台新机器上:

bash 复制代码
chezmoi init --apply https://github.com/$GITHUB_USERNAME/dotfiles.git
相关推荐
Johny_Zhao1 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
YuMiao2 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器