feat: add proper local stow package targets to Makefile #11
20
Makefile
20
Makefile
@@ -1,10 +1,15 @@
|
||||
# Define list of directories you want to stow
|
||||
CONFIG_DIRS := btop doom hypr kitty local nvim rclone starship tmux wallpapers waybar wireplumber wofi yazi zsh
|
||||
|
||||
# Local stow package directory (installed to ~/.local)
|
||||
STOW_LOCAL_DIR := local
|
||||
|
||||
all: stow_all
|
||||
wal -i ~/.config/wallpapers/green_yellow_forest.jpg -o ~/.config/waybar/launch.sh
|
||||
neofetch
|
||||
|
||||
.PHONY: all stow_all stow_local stow_rclone post_install_rclone clean
|
||||
|
||||
# Main target to handle stowing for all directories except rclone
|
||||
stow_all: $(filter-out rclone, $(CONFIG_DIRS))
|
||||
@echo "Cleaning broken symlinks in ~/.config..."
|
||||
@@ -21,6 +26,13 @@ stow_%:
|
||||
@echo "Stowing $*"
|
||||
stow -v -t $(HOME) $*
|
||||
|
||||
# Special target for the local stow package
|
||||
stow_local:
|
||||
@echo "Cleaning broken symlinks in ~/.local/share/applications..."
|
||||
find ~/.local/share/applications -xtype l -delete -print
|
||||
@echo "Stowing local package"
|
||||
stow -v -t $(HOME) $(STOW_LOCAL_DIR)
|
||||
|
||||
# Post-installation script for rclone (executed after stowing)
|
||||
post_install_rclone:
|
||||
@echo "Running post-installation script for rclone"
|
||||
@@ -35,3 +47,11 @@ stow_rclone:
|
||||
@echo "Stowing rclone"
|
||||
stow -v -t $(HOME) rclone
|
||||
@$(MAKE) post_install_rclone
|
||||
|
||||
# Unstow all packages
|
||||
clean:
|
||||
@echo "Unstowing all packages..."
|
||||
@for dir in $(CONFIG_DIRS); do \
|
||||
echo "Unstowing $$dir..."; \
|
||||
stow -v -D -t $(HOME) $$dir 2>/dev/null || true; \
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user