lasse16 / dotfiles

These are my dotfiles, including a basic setup and disable script.
2 stars 0 forks source link

Implement template system #13

Closed lasse16 closed 3 years ago

lasse16 commented 3 years ago

I am unhappy with the way my dotfiles are managed across multiple devices.

Every machine-specific detail has to be manually adjusted and the default version is hardcoded in the repository. I attempted to write a bash script, which makes use of some simple templating file, but failed as I found no good way to parse a .toml in bash script.

Machine-specific details are to be collected in a local-data.toml and then put into several different template files, e.g. .gitconfig.tmpl, where specific markers, like {{git.email}}, specify where to insert machine-specific details.

I had a look at chezmoi, but found the files that get committed, to be ugly. Further I am no fan of the default directory and that there is no way to install without installing chezmoi first.

yadm might be another option. Although using the $HOME directory as a working stage does sound terrible.

No matter the case, one KO-criterium is that no additional language install should be needed. So, no python solutions. Installing a management package like chezmoi is about as much as I want to do.

Current suggestion for a solution is to write my own dotfile manager. And create yet yet another dotfile manager.

lasse16 commented 3 years ago

One soultion with a similar feature set to what I would write myself is dot-templater. I am unsure how well it is to import though.

lasse16 commented 3 years ago

Another solid solution is dotter. This is my current favorite.

arran-nz commented 3 years ago

You've mentioned it already, but I can highly recommend Chezmoi. I'm using it across a variety of machines including OSX.

I have used the tempting features to unify colour schemes across a few applications.

Give it a go!

lasse16 commented 3 years ago

@arran-nz Hi Arran, thanks for your input. 😁

I already implemented my needs with Dotter. Check out #17 if you want to see it in action.

It looked a bit simpler. And what actually enters your repo is also a bit cleaner and easier to read, IMO.

I'm going to keep Chezmoi in mind if Dotter does not fit my use cases anymore.