aboutsummaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/install.sh b/install.sh
index 2561bcc..c2ff9d8 100755
--- a/install.sh
+++ b/install.sh
@@ -76,14 +76,19 @@ else:
# ------------------------------------------------------------------ files --
# Config and modules are symlinked: this repo owns them outright, so linking
# means the installed bar cannot drift from what is committed.
+#
+# Links whose source has gone are pruned first. Linking alone never removes
+# anything, so a module renamed or dropped in the repo would otherwise leave a
+# dangling link behind for every later install to step over.
+find "$target" -xtype l -delete 2>/dev/null || true
+
ln -sfn "$repo/config.jsonc" "$target/config.jsonc"
for f in modules/clock.jsonc \
modules/hyprland/workspaces.jsonc \
- modules/custom/launcher.jsonc modules/custom/vmdot.jsonc \
- modules/custom/privacy_dots.jsonc \
+ modules/custom/vmdot.jsonc modules/custom/privacy_dots.jsonc \
modules/extras/taskbar.jsonc modules/extras/tray.jsonc \
modules/image/volume.jsonc modules/image/idle_inhibitor.jsonc \
- modules/image/language.jsonc; do
+ modules/image/language.jsonc modules/image/launcher.jsonc; do
ln -sfn "$repo/$f" "$target/$f"
done