This is ongoing attempt to have Literate dot.files. In past, I tried multiple approaches to manage my dot.files, but none lived to its original promises.
I’m fan of Literate everything in last years mostly because of amazing Org-mode. Since I discovered Literate DevOps, I tend to use same approach to other parts of my work and hobbies.
So, without much words, this is simply documentation of my configurations which you can easily tangle into actual configuration files. Its meant to be edited through Org-mode documents, not directly in configuration files.
I used to have single Linux computer at a time for more then decade. When I got new hardware, I simply synced old disk to new one and continued with my work. And so my dot.files were safe.
Now I got my hands on Surface Go 2 tablet and, of course, I want same config files there too.
And because I play with my config files a lot I need them always in sync.
This is really Work In Progress. I usually publish only finished (or at least partially finished) works. But I believe nobody would ever see this if I wait until I’m not ashamed of it :)
I plan to put all my configuration files here in current state and add more documentation later (if ever).
You’ll probably encounter many TODO notes - just ignore them, those are for me mostly.
If you found something interesting and don’t understand how it works, feel free to open issue with question in this repo - I may even find some time to reply.
As you already noticed, I’m not native English speaker. I’m trying to cleanup all Czech comments from my configs, but as mentioned above - WIP.
Btw. if you found this repo useful and are native English speaker, I’ll gladly accept donations in form of grammar/style/English Pull Requests ;) I may as well learn something and improve.
I suppose it is usable mostly as inspiration how to manage configuration files and to check some interesting config options in various software.
Config files are strongly affected by personal style. This repo probably wont work for you as it is - and its not intended to. Feel free to use it as inspiration, copy whatever you want or use same configuration as I’m :) Its up to you.
Simply run ./bin/tangle
from this cloned repo.
Beware tangle will simply overwrite all target files without asking, so double check first.
Beware it will tangle files to Chezmoi directory
find . -type f -name '*.org' -exec emacs --batch -l org --eval '(org-babel-tangle-file "{}")' \;
It would be great to have git hook to tangle all files into subdirectory so I can consume it without emacs installed.
I should be able to install used apps for every part (zsh, git, etc) from Pacman, AUR or manually. It would be great to add support for Chocolatey later when occasionally on Windows.
- TODO sync this repo and tangle documents
- install chezmoi
yup chezmoi
- run
chezmoi diff
to check what will be applied - run
chezmoi apply
if you want to proceed - TODO install missing apps (if you want)
Every .org
file in this directory is config file for something.
Maybe add index here
- chezmoi
- seems great in most aspects, I’m considering to use it.
- dotdrop
- really similar to chezmoi in features but differences in philosophy. I like that is is using jinja2 (used to it from ansible).
- pniedzielksi’s Dotfiles
- amazing example of literate configuration. Uses stow to sort configs to its places.
- Dotfile management and documentation with Org-Mode : emacs
- nice tip about how to use pass in comments.
- GitHub - mitchty/dotfiles: My dotfile setup.
- org-mode examples and Makefile - have to go through it
- GitHub - dieggsy/dotfiles: My dotfiles and some scripts
- another example with Stow, many configs, different structure.
- The Setup
- another example.
bin/tangle
script to get it all together. Also one to bootstrap needed packages on clean machine.