Commit aff9173690da

Vincent Demeester <vincent@sbr.pm>
2026-02-11 06:22:08
feat: deploy github-notif-manager to kyushu and aomi
Added home-manager module and config for both hosts. Configuration managed via dots/config/github-notif-manager/ and symlinked to ~/.config/ via dots Makefile.
1 parent 06b49c2
Changed files (5)
dots
config
github-notif-manager
home
systems
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