【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
相关推荐
半夏知半秋3 分钟前
基于跳跃表的zset实现解析(lua版)
服务器·开发语言·redis·学习·lua
知北游天7 分钟前
Linux网络:初识网络
linux·运维·网络
染指11108 分钟前
13.渗透-.Linux基础命令(五)-用户管理(修改用户密码)
linux·运维·服务器·linux命令
wheeldown30 分钟前
【Linux】面试常考!Linux 进程核心考点:写时拷贝优化原理 + 进程等待实战,一篇理清进程一生
linux·运维·服务器·面试·php
歪比巴卜__1 小时前
【系列文章】Linux中的并发与竞争[02]-原子操作
linux
云飞云共享云桌面5 小时前
昆山精密机械公司8个Solidworks共用一台服务器
运维·服务器·网络·3d·自动化·制造
恒创科技HK5 小时前
中国香港服务器中常提到的双向/全程CN2是什么意思?
运维·服务器
MyCollege19995 小时前
win10使用ssh访问vmware虚拟机
linux·运维·centos
许怀楠7 小时前
【主页介绍】
linux·c++·贪心算法·visual studio
大聪明-PLUS8 小时前
GCC 对 C 语言的扩展
linux·嵌入式·arm·smarc