ark/modules/ananicy/default.nix

51 lines
1.3 KiB
Nix
Raw Normal View History

2022-09-12 03:11:38 +03:00
{
2022-09-12 03:32:23 +03:00
pkgs,
lib,
...
}: let
l = lib // builtins;
mkRule = name: type:
l.toJSON {
inherit name type;
};
in {
2022-09-12 03:11:38 +03:00
services.ananicy = {
enable = true;
extraRules = l.concatStringsSep "\n" [
# coompilers
(mkRule "g++" "BG_CPUIO")
(mkRule "gcc" "BG_CPUIO")
(mkRule "clang" "BG_CPUIO")
(mkRule "mold" "BG_CPUIO")
(mkRule "ld" "BG_CPUIO")
(mkRule "gold" "BG_CPUIO")
(mkRule "rustc" "BG_CPUIO")
(mkRule "cargo" "BG_CPUIO")
(mkRule "rust-analyzer" "BG_CPUIO")
(mkRule "go" "BG_CPUIO")
(mkRule "nix" "BG_CPUIO")
(mkRule "nix-daemon" "BG_CPUIO")
# editors
(mkRule "hx" "Doc-View")
(mkRule ".hx-wrapped" "Doc-View")
# browser
(mkRule "firefox" "Doc-View")
(mkRule ".firefox-wrapped" "Doc-View")
# wm
2022-11-05 23:10:31 +03:00
(mkRule ".gnome-shell-wrapped" "LowLatency_RT")
(mkRule "gnome-shell" "LowLatency_RT")
2022-09-12 03:11:38 +03:00
(mkRule "Hyprland" "LowLatency_RT")
(mkRule "rofi" "LowLatency_RT")
(mkRule "wlsunset" "BG_CPUIO")
(mkRule "swayidle" "BG_CPUIO")
# term
(mkRule "wezterm-gui" "Doc-View")
2022-09-12 03:32:23 +03:00
(mkRule "foot" "Doc-View")
2022-11-05 23:10:31 +03:00
(mkRule "gnome-terminal" "Doc-View")
(mkRule ".gnome-terminal-wrapped" "Doc-View")
2022-09-12 03:11:38 +03:00
# other
(mkRule "syncthing" "BG_CPUIO")
];
};
}