๐Ÿ“š node [[chezmoi]]

Example from my initial upload:

sh -c "`curl -fsLS chezmoi.io/get`"
chezmoi add ~/.bashrc
chezmoi add ~/.vimrc
chezmoi add ~/.tmux.conf
chezmoi add ~/.gnupg
chezmoi cd
git add .
git commit -m 'Initial commit from paramita."

After creating an empty repo in any host (I used [[gitlab]]), you can upload the local repo you cd'd into above as per standard [[git]] procedure:

git remote add origin git@gitlab.com:flancian/flancian.git
git branch -M main
git push -u origin main 

Then for syncing files into a new machine, you install chezmoi and then pass the repo as argument to chezmoi init:

sh -c "`curl -fsLS chezmoi.io/get`"
chezmoi init https://gitlab.com/flancian/flancian
chezmoi apply -v

To upload changes to files already tracked by chezmoi from any host:

chezmoi re-add
chezmoi cd
git commit -a -m "chezmoi from $HOSTNAME"
git push

[[Chezmoi]] supports [[templates]] to special-case files depending on the host they're being installed in, but I haven't experimented with them yet.

Manage your [[dotfiles]] across multiple diverse machines, securely.

If your system is written in a scripting language like Python, Perl, or Ruby, then you also need to install a compatible version of that language's runtime before you can use your system.

chezmoi is distributed as a single stand-alone statically-linked binary with no dependencies that you can simply copy onto your machine and run. chezmoi provides one-line installs, pre-built binaries, packages for Linux and BSD distributions, Homebrew formulae, Scoop and Chocolatey support on Windows, and a initial config file generation mechanism to make installing your dotfiles on a new machine as painless as possible.

Receiving pushes... (requires JavaScript)
Loading context... (requires JavaScript)
๐Ÿ“– stoas (collaborative spaces) for [[chezmoi]]