Install notification timer with app

This commit is contained in:
2026-05-04 12:22:45 +02:00
parent a593cf6ad0
commit 118e10561c
2 changed files with 35 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
BINARY := lazy-update-manager
PREFIX ?= $(HOME)/.local
APP_DIR := $(CURDIR)
# Versioning: try to use git describe, fall back to 'dev'
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
@@ -20,28 +21,47 @@ desktop-dist:
install: build
@mkdir -p $(PREFIX)/bin
@mkdir -p $(PREFIX)/share/applications
@mkdir -p $(HOME)/.config/systemd/user
@echo "Installing $(BINARY) to $(PREFIX)/bin"
@if [ -f "$(PREFIX)/bin/$(BINARY)" ]; then \
if cmp -s bin/$(BINARY) "$(PREFIX)/bin/$(BINARY)"; then \
echo "Existing binary is identical; skipping overwrite."; \
exit 0; \
else \
ts=$$(date +%Y%m%d%H%M%S); \
mv "$(PREFIX)/bin/$(BINARY)" "$(PREFIX)/bin/$(BINARY)-$$ts.bak"; \
echo "Backed up previous binary to $(PREFIX)/bin/$(BINARY)-$$ts.bak"; \
install -Dm755 bin/$(BINARY) $(PREFIX)/bin/$(BINARY); \
fi; \
else \
install -Dm755 bin/$(BINARY) $(PREFIX)/bin/$(BINARY); \
fi; \
{ \
echo "[Desktop Entry]"; \
echo "Type=Application"; \
echo "Name=LazyUpdateManager"; \
echo "Comment=Arch and Hyprland update helper"; \
echo "Exec=$(PREFIX)/bin/$(BINARY) gui"; \
echo "Path=$(APP_DIR)"; \
echo "Icon=system-software-update"; \
echo "Terminal=false"; \
echo "Categories=System;Utility;"; \
} > $(PREFIX)/share/applications/lazy-update-manager.desktop; \
install -Dm644 systemd/lazy-update-manager.service $(HOME)/.config/systemd/user/lazy-update-manager.service; \
install -Dm644 systemd/lazy-update-manager.timer $(HOME)/.config/systemd/user/lazy-update-manager.timer; \
if command -v systemctl >/dev/null 2>&1 && systemctl --user daemon-reload >/dev/null 2>&1; then \
systemctl --user enable --now lazy-update-manager.timer; \
echo "Enabled lazy-update-manager.timer for update notifications"; \
else \
echo "Installed user service files, but could not access the user systemd session."; \
echo "Run manually: systemctl --user daemon-reload && systemctl --user enable --now lazy-update-manager.timer"; \
fi; \
install -Dm755 bin/$(BINARY) $(PREFIX)/bin/$(BINARY); \
install -Dm644 systemd/lazy-update-manager.desktop $(PREFIX)/share/applications/lazy-update-manager.desktop; \
echo "Installed $(BINARY) to $(PREFIX)/bin"
install-user-service: install
install -Dm644 systemd/lazy-update-manager.service $(HOME)/.config/systemd/user/lazy-update-manager.service
install -Dm644 systemd/lazy-update-manager.timer $(HOME)/.config/systemd/user/lazy-update-manager.timer
systemctl --user daemon-reload
@echo "User service installation is included in 'make install'."
enable-user-service: install-user-service
systemctl --user enable --now lazy-update-manager.timer
@echo "Timer activation is included in 'make install'."
test:
go test ./...