Commit aff9173690da
Changed files (5)
dots
config
github-notif-manager
home
common
dots/config/github-notif-manager/config.yaml
@@ -0,0 +1,102 @@
+# GitHub Notification Manager - vdemeester config
+#
+# Rules are evaluated in order - first match wins.
+# Order matters! Specific rules before general ones.
+
+rules:
+ # ─── KEEP rules (skip) — guardrails ───────────────────────────────────
+
+ # Direct @-mentions — someone explicitly pinged you
+ - name: "Keep mentions"
+ filters:
+ reason: "mention"
+ action: skip
+ enabled: true
+
+ # Team mentions
+ - name: "Keep team mentions"
+ filters:
+ reason: "team_mention"
+ action: skip
+ enabled: true
+
+ # Things you authored (your own PRs/issues)
+ - name: "Keep authored"
+ filters:
+ reason: "author"
+ action: skip
+ enabled: true
+
+ # Comments on things you're involved in
+ - name: "Keep comments"
+ filters:
+ reason: "comment"
+ action: skip
+ enabled: true
+
+ # Security alerts
+ - name: "Keep security alerts"
+ filters:
+ subject_type: "RepositoryDependabotAlertsThread"
+ action: skip
+ enabled: true
+
+ # NixOS/nixpkgs
+ - name: "Keep nixpkgs"
+ filters:
+ repository: "NixOS/nixpkgs"
+ action: skip
+ enabled: true
+
+ # Assignments — you were explicitly assigned
+ - name: "Keep assignments"
+ filters:
+ reason: "assign"
+ action: skip
+ enabled: true
+
+ # ─── TARGETED ARCHIVE rules — before the general keep ─────────────────
+
+ # openshift-pipelines/operator review requests (437 notifications!)
+ # These are almost all automated bot/renovate PRs
+ - name: "Archive operator bot review requests"
+ description: "Automated dependency PRs from operator repo"
+ filters:
+ repository: "openshift-pipelines/operator"
+ reason: "review_requested"
+ action: mark_done
+ enabled: true
+
+ # ─── KEEP remaining review requests ───────────────────────────────────
+
+ # Real review requests (everything NOT caught above)
+ - name: "Keep real review requests"
+ filters:
+ reason: "review_requested"
+ action: skip
+ enabled: true
+
+ # ─── ARCHIVE rules ────────────────────────────────────────────────────
+
+ # CI activity — pure noise (120 notifications)
+ - name: "Archive CI activity"
+ filters:
+ reason: "ci_activity"
+ action: mark_done
+ enabled: true
+
+ # State changes (PR merged/closed) — stale fast
+ - name: "Archive state changes"
+ filters:
+ reason: "state_change"
+ action: mark_done
+ enabled: false
+
+ # Old read notifications — general cleanup
+ - name: "Archive old read notifications"
+ description: "Notifications read 7+ days ago, clean up"
+ filters:
+ unread: false
+ age_days: 7
+ action: mark_done
+ enabled: true
dots/Makefile
@@ -55,6 +55,9 @@ lazypr : ~/.config/lazypr/config.toml
all += gh-news
gh-news : ~/.config/gh-news/config.toml
+all += github-notif-manager
+github-notif-manager : ~/.config/github-notif-manager/config.yaml
+
all += git-template copilot-hooks opencode-plugin pi-agent agent-skills agent-skill-manager-bin ai-config
git-template : ~/.config/git/template
copilot-hooks : ~/.config/copilot-hooks
home/common/dev/github-notif-manager.nix
@@ -0,0 +1,6 @@
+# github-notif-manager - Rule-based GitHub notification automation
+# Config is managed via dots/.config/github-notif-manager/config.yaml
+{ pkgs, ... }:
+{
+ home.packages = [ pkgs.github-notif-manager ];
+}
systems/aomi/home.nix
@@ -3,6 +3,7 @@
imports = [
../../home/common/dev/default.nix
../../home/common/dev/gh-news.nix
+ ../../home/common/dev/github-notif-manager.nix
../../home/common/dev/lazyworktree.nix
../../home/common/dev/neovim.nix
../../home/common/dev/emacs.nix
systems/kyushu/home.nix
@@ -10,6 +10,7 @@ in
imports = [
../../home/common/dev/containers.nix
../../home/common/dev/gh-news.nix
+ ../../home/common/dev/github-notif-manager.nix
../../home/common/dev/lazyworktree.nix
../../home/common/dev/neovim.nix
../../home/common/dev/tektoncd.nix