feat: add hyprscratch scratchpad management with rule reapply fork

- Add hyprscratch from colonelpanic8/reapply-rules-on-toggle fork that
  reapplies size/position/float rules on every toggle (not just spawn)
- Configure 9 scratchpads: htop, volume, spotify, element, slack,
  transmission, dropdown, gmail, messages
- Use clean mode (hide on workspace change) and auto-dismiss (only
  dropdown persists)
- Fix pavucontrol class (org.pulseaudio.pavucontrol) and dropdown
  position (offset by taffybar height)
- Add kanshi-sni, dbus-menu, dbus-hslogger flake inputs and follows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-10 22:25:58 -08:00
committed by Kat Huang
parent a15fee5b30
commit cf8892152c
5 changed files with 180 additions and 95 deletions

View File

@@ -55,6 +55,14 @@
};
};
kanshi-sni = {
url = "github:taffybar/kanshi-sni";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
# Hyprland and plugins from official flakes for proper plugin compatibility
hyprland = {
url = "git+https://github.com/hyprwm/Hyprland?submodules=1&ref=refs/tags/v0.53.0";
@@ -70,6 +78,11 @@
inputs.hyprland.follows = "hyprland";
};
hyprscratch = {
url = "github:colonelpanic8/hyprscratch/reapply-rules-on-toggle";
inputs.nixpkgs.follows = "nixpkgs";
};
railbird-secrets = {
url = "git+ssh://gitea@dev.railbird.ai:1123/railbird/secrets-flake.git";
inputs = {
@@ -112,6 +125,8 @@
status-notifier-item.follows = "status-notifier-item";
xmonad.follows = "xmonad";
xmonad-contrib.follows = "xmonad-contrib";
dbus-menu.follows = "dbus-menu";
dbus-hslogger.follows = "dbus-hslogger";
weeder-nix.inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
};
};
@@ -123,6 +138,11 @@
flake-utils.follows = "flake-utils";
xmonad.follows = "xmonad";
taffybar.follows = "taffybar";
dbus-menu.follows = "dbus-menu";
dbus-hslogger.follows = "dbus-hslogger";
gtk-sni-tray.follows = "gtk-sni-tray";
gtk-strut.follows = "gtk-strut";
status-notifier-item.follows = "status-notifier-item";
};
};
@@ -142,6 +162,8 @@
flake-utils.follows = "flake-utils";
git-ignore-nix.follows = "git-ignore-nix";
status-notifier-item.follows = "status-notifier-item";
gtk-strut.follows = "gtk-strut";
dbus-menu.follows = "dbus-menu";
};
};
@@ -163,6 +185,20 @@
};
};
dbus-menu = {
url = "github:taffybar/dbus-menu";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
git-ignore-nix.follows = "git-ignore-nix";
};
};
dbus-hslogger = {
url = "github:IvanMalison/dbus-hslogger";
flake = false;
};
vscode-server = {
url = "github:nix-community/nixos-vscode-server";
inputs = {