twpayne / chezmoi

Manage your dotfiles across multiple diverse machines, securely.
https://www.chezmoi.io/
MIT License
12.85k stars 477 forks source link

Support for non-git version control systems #1801

Closed Cognomines closed 2 years ago

Cognomines commented 2 years ago

Support for other version control systems

I have decided to move to pijul as a version control system for dotfile management I need bootstrap support that will specifically use the right version control system. I have not deeply looked at the source code in such a way to wrap the analogous pijul commands.

I suppose for now that I need to learn chezmoi.

chezmoi init # adjust command to point dotfiles to ~/.config/chezmoi/ rather than ~/.local/share/chezmoi
chezmoi cd 
chezmoi rm -rf .git
pijul init
# Create repo at the nest.pijul.com
# Add files to source state with chezmoi
# Add files to pijul version control
pijul push -a cognomines@ssh.pijul.com:cognomines/chezmoi-dotfiles

Shouldn't more information should be done for chezmoi More investigation should be done for bootstrapping support.

twpayne commented 2 years ago

Although chezmoi has builtin support for git and has deep git integration by default, chezmoi is not dependent on git, and you can use any version control system that you want.

A couple of notes on the above post:

chezmoi init # adjust command to point dotfiles to ~/.config/chezmoi/ rather than ~/.local/share/chezmoi
chezmoi cd 
chezmoi rm -rf .git
pijul init
  1. chezmoi init without an argument is just mkdir -p ~/.local/share/chezmoi && cd ~/.local/share/chezmoi && git init. You can run the same sequence of commands, substituting pijul for git, i.e. don't use chezmoi init. Instead, use the underlying commands themselves.
  2. Re "adjust command to point dotfiles to ~/.config/chezmoi/ rather than ~/.local/share/chezmoi". Do not do this. The two directories contain different information. ~/.local/share/chezmoi contains files that are common to all your machines. ~/.config/chezmoi contains files that are specific to the local machine. They are not the same.
twpayne commented 2 years ago

To move this issue forward, know that chezmoi v1 included support for Mercurial, but nobody actually seemed to depend on it, so Mercurial support was removed in https://github.com/twpayne/chezmoi/issues/459, without complaint.

Adding support for non-git VCSes is certainly possible, but it does require sufficient motivation from users of that non-git VCS. Evidence of that support is needed.

twpayne commented 2 years ago

Closing due to lack of response.

twpayne commented 1 year ago

See #2580.