summaryrefslogtreecommitdiff
path: root/link.sh
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-09-21 14:09:58 +0300
committerIgor Soarez <igor@soarez.org>2026-09-21 14:09:58 +0300
commitdec2702337924b9a004acf2afa7574f95d349077 (patch)
tree69321537c360da8d739bdade0ecb379f49c13976 /link.sh
parentfec40208281589b70228802914e98b3b4823924b (diff)
link: a part named in ~/.config/dot/skip does nothing on that machine
A machine may need one of the parts left out: on a laptop it does not own, ~/.claude/settings.json is the owner's, holding their environment and plugins, and linking this account's over it is wrong in both directions -- theirs is lost, and anything of theirs worth keeping would have to be carried here, in the repo every machine shares. The file is hand-written and in no repo, like ~/.localenv, so the exception stays on the machine that needs it. The check is in link/lib.sh, as each part starts, rather than in link.sh's loop, so `link/claude.sh yes` obeys it too; link.sh and other repos' link.sh source that file as well, and sit outside link/, so their names can never be read as a part's.
Diffstat (limited to 'link.sh')
-rwxr-xr-xlink.sh2
1 files changed, 2 insertions, 0 deletions
diff --git a/link.sh b/link.sh
index f5e08d5..53bbf85 100755
--- a/link.sh
+++ b/link.sh
@@ -58,6 +58,8 @@ then
DOT_LINK_LIB="$dotfiles_dir/link/lib.sh" run_link "$cloud_setup/link.sh"
fi
+# A part named in ~/.config/dot/skip leaves this machine alone: link/lib.sh
+# checks that as each part starts, so a part run on its own obeys it as well.
for part in ssh claude pi skills icloud hammerspoon kwin
do
run_link "$dotfiles_dir/link/$part.sh"