These dotfiles were originally built with ideas from holman/dotfiles.
One of the ideas from these dotfiles is automatic symlinking of files ending in
.symlink.
I adopted this scheme and expanded on it a few times. These expansions supported
symlinking to locations beyond the home directory, selectively prepending a .
to make the symlink a hidden file (or not), and more. I had a lot of fun and
learned a lot about shell scripting, but ended up piling on a lot of complexity
and some magic.
This PR switches from that scheme to a more explicit script where each file is
symlinked individually with code essentially equivalent to:
See the full script in infra/setup/bin/symlink which has a few additional
niceties like prompting a user before overwriting an existing file & offering to
back up the existing file.
I did like the easy visual indication that a file was symlinked externally
elsewhere if it ended in .symlink. On the whole though this change should
reduce maintenance complexity, remove some of the magic around the symlinking
process, and above all remove many lines of code since best code is less code.
These dotfiles were originally built with ideas from
holman/dotfiles
. One of the ideas from these dotfiles is automatic symlinking of files ending in.symlink
.I adopted this scheme and expanded on it a few times. These expansions supported symlinking to locations beyond the home directory, selectively prepending a
.
to make the symlink a hidden file (or not), and more. I had a lot of fun and learned a lot about shell scripting, but ended up piling on a lot of complexity and some magic.This PR switches from that scheme to a more explicit script where each file is symlinked individually with code essentially equivalent to:
ln -s $DOTFILES/path/to/file $HOME/path/to/target/symlink
See the full script in
infra/setup/bin/symlink
which has a few additional niceties like prompting a user before overwriting an existing file & offering to back up the existing file.I did like the easy visual indication that a file was symlinked externally elsewhere if it ended in
.symlink
. On the whole though this change should reduce maintenance complexity, remove some of the magic around the symlinking process, and above all remove many lines of code since best code is less code.