This solution seems unnecessarily heavyweight. Or perhaps I'm just not getting it. What problem does this solve that can't be more trivially solved using GNU Make? For example, my own environment files include not only dot files, but common scripts in bin, as well as other files.
To add a file, just add it in the correct directory using normal git commands. To install it, just run make that will create the symlinks.
TL;DR: as a noob, I think chezmoi is super easy to use & learn & it comes with very good documentation
I feel like can't do the creators & developers enough justice here without putting this here. I think they are doing a pretty good job at explaining the why's.
As for me:
I don't find it unnecessarily heavyweight.
I had no prior experience in managing dotfiles, yet what chezmoi provides is the ability to abstract all these "magics" with ease of use (super important for me).
Why? As an average Linux user, I find it harder to do things "correctly" as what you have done. While it will benefit me in the long run to learn the nitty-gritty details, I think the time taken for me to do so isn't as rewarding.
I'd rather use a tool that has gotten most use cases "figured out" and I'll just be a happy user (rather than having to figure out how to do things correctly myself.)
For me, one of the biggest wins is personalisation. You can use the same configuration across multiple machines, while still being able to control machine-specific details. Chezmoi can use templates (using the go text/template syntax), which allows you to personalise dotfiles based on the operating system, architecture, and hostname. So, for example, you can use the same global .gitconfig file privately and at work and use a different username and email address on each machine, while still using a single dotfile repository.
It also supports secrets, which can be retrieved from one of the many password managers it supports, and it also supports full-file encryption using GPG, age or any other tool you prefer.
On top of that, it supports dry-runs, so you can see the differences before overwriting any existing configuration.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
This solution seems unnecessarily heavyweight. Or perhaps I'm just not getting it. What problem does this solve that can't be more trivially solved using GNU Make? For example, my own environment files include not only dot files, but common scripts in
bin
, as well as other files.To add a file, just add it in the correct directory using normal
git
commands. To install it, just runmake
that will create the symlinks.TL;DR: as a noob, I think chezmoi is super easy to use & learn & it comes with very good documentation
I feel like can't do the creators & developers enough justice here without putting this here. I think they are doing a pretty good job at explaining the why's.
As for me:
I don't find it unnecessarily heavyweight.
I had no prior experience in managing dotfiles, yet what chezmoi provides is the ability to abstract all these "magics" with ease of use (super important for me).
Why? As an average Linux user, I find it harder to do things "correctly" as what you have done. While it will benefit me in the long run to learn the nitty-gritty details, I think the time taken for me to do so isn't as rewarding.
I'd rather use a tool that has gotten most use cases "figured out" and I'll just be a happy user (rather than having to figure out how to do things correctly myself.)
It can do more than described in this post.
For me, one of the biggest wins is personalisation. You can use the same configuration across multiple machines, while still being able to control machine-specific details. Chezmoi can use templates (using the go text/template syntax), which allows you to personalise dotfiles based on the operating system, architecture, and hostname. So, for example, you can use the same global
.gitconfig
file privately and at work and use a different username and email address on each machine, while still using a single dotfile repository.It also supports secrets, which can be retrieved from one of the many password managers it supports, and it also supports full-file encryption using GPG, age or any other tool you prefer.
On top of that, it supports dry-runs, so you can see the differences before overwriting any existing configuration.