| 1 | |
| 2 | .PHONY: help install all link packages fonts check uninstall dry-run lint reload |
| 3 | |
| 4 | help: ## Show this help |
| 5 | @grep -E '^[a-z-]+:.* |
| 6 | |
| 7 | all: ## Full setup: packages + fonts + symlinks |
| 8 | ./install.sh --all |
| 9 | install: link |
| 10 | link: ## Symlink configs into ~/.config |
| 11 | ./install.sh --link |
| 12 | packages: ## Install dependencies |
| 13 | ./install.sh --packages |
| 14 | fonts: ## Install JetBrainsMono Nerd Font |
| 15 | ./install.sh --fonts |
| 16 | check: ## List missing programs |
| 17 | ./install.sh --check |
| 18 | dry-run: ## Preview a full install |
| 19 | ./install.sh --all --dry-run |
| 20 | uninstall: ## Remove symlinks, restore backups |
| 21 | ./install.sh --uninstall |
| 22 | reload: ## Reload sway, waybar and mako |
| 23 | -swaymsg reload |
| 24 | -pkill -SIGUSR2 waybar |
| 25 | -makoctl reload |
| 26 | lint: ## Check configs and scripts (sway -C, bash -n, shellcheck) |
| 27 | sway -C -c config/sway/config |
| 28 | @for f in install.sh config/*/scripts/*.sh; do bash -n "$$f" || exit 1; done |
| 29 | @command -v shellcheck >/dev/null && shellcheck -x -e SC1091 install.sh config/*/scripts/*.sh || echo "shellcheck not installed, skipped" |