Table of Contents

awesome-dotfiles https://github.com/webpro/awesome-dotfiles

TODO check occasionally?

What I tried

gnu stow?

apparently a parallel hierarchy with symlinks?
would be nice to specify, which directories should be created and which should just be symlinked. Otherwise stuff might end up in symlinked folders

fresh to build gh config? https://github.com/freshshell/fresh

you can write a configuration, and it will symlinka all automatically
apparently can source from gh repos, so you could just 'follow' someones' dotfiles (not very portable though)

homesick? https://github.com/technicalpickles/homesick

looks like a parallel hierarchy of dotfiles mimicing /home? could be convenient to manage with symlinks…
wonder if .homesick directory is configurable

ok, so if i create home dir and add relative symlinks to it, it sort of works fine.
add a script to check symlink integrity?
still unclear what should i do with patch files. maybe have a manual dir with symlinks as well?
homesick track? although it's a bit weird if configuration comes from different files, but i guess it's quite rare

ugh.. homedirsubdir is a bit weird.. could make it support relative symlinks within repo
ugh.. homesick seems to rewrite relative symlinks to absolute… wtf???

mackup? https://github.com/lra/mackup

apparently just backs up and symlinks configs for some applications
hmm, so it supports doublecmd. wonder how they handle their configs..
nope, just copies. nothing interesting

vcsh http://blog.tfnico.com/2014/03/managing-dot-files-with-vcsh-and-myrepos.html

weird stuff, messes with git and uses mr tool to manipulate on multiple repos at the same time
take another look at it?
mm – ok, so apparently it's just like single repo view but routing to different subrepos
e.g. vcsh init vim; vcsh vim commit .vimrc

dotbot?

yaml configs.. ugh

dotdrop https://github.com/deadc0de6/dotdrop

allows templating thanks to jinja2
erm.. it copies, not symlinks apparently

dotgit https://github.com/kobus-v-schoor/dotgit

hmm encryption!
aims to keep all in single repository
too comlicated.

https://github.com/evanpurkhiser/dots has post installation script

was updated 2 years ago

using git repository with symlinks + external ~ working directory [[git]]

/repos/configuration
cgit command

bootstrapping

workflow

cgit status to see if anything has changed
cgit add / cgit commit / cgit push

try git lfs?

something about files which can't be kept in git [[git]]

for configs which are patched via script, symlink what patches it [[setup]]

ln -s "$(realpath $BASH_SOURCE)" "$CDIR"

Tooling

jq for patching JSON [[json]]

https://jqplay.org/ is also quite convenient

[2018-06-20] configs which are not symlinking – have a script which checks them against reference every few hours and complains if config doesn't match the reference?

I guess it would belong to configuration repository

related [[infra]]

[2019-06-01] motivation for core.worktree [[git]] [[setup]] [[dotfiles]]

can't use bare repository since they don't have index
we don't want to use working directory since it's just confusing
solution is git config core.worktree $HOME

[2020-07-12] Manage your dotfiles with Git - openSUSE News [[git]]

[2020-05-26] Dotfiles - Joe Yates' Blog [[git]] [[dotfiles]]

very similal to how I manage it – the git based approach is super simple, portable and predictable