diff options
Diffstat (limited to 'install.sh')
| -rwxr-xr-x | install.sh | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -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 |
