【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 [email protected]:$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
相关推荐
电鱼智能的电小鱼1 分钟前
EFISH-SBC-RK3588 —— 厘米级定位 × 旗舰算力 × 工业级可靠‌
linux·人工智能·嵌入式硬件·边缘计算
席万里2 分钟前
Go语言企业级项目使用dlv调试
服务器·开发语言·golang
yuanlaile19 分钟前
Go全栈_Golang、Gin实战、Gorm实战、Go_Socket、Redis、Elasticsearch、微服务、K8s、RabbitMQ全家桶
linux·redis·golang·k8s·rabbitmq·gin
程序员JerrySUN24 分钟前
驱动开发硬核特训 · Day 22(上篇): 电源管理体系完整梳理:I2C、Regulator、PMIC与Power-Domain框架
linux·驱动开发·嵌入式硬件
IT运维爱好者36 分钟前
Ubuntu 22.04.4操作系统初始化详细配置
linux·运维·服务器·ubuntu
樂5021 小时前
关于 Web 服务器的五个案例
linux·服务器·经验分享
用户217516114381 小时前
【linux】重定向与缓冲区
linux
一键三联啊1 小时前
【FastJSON】的parse与parseObject
linux·前端·python
ICT_SOLIDWORKS1 小时前
智诚科技苏州SOLIDWORKS授权代理商的卓越之选
大数据·人工智能·科技·软件工程
离凌寒1 小时前
一、linux系统启动过程操作记录
linux