diff --git a/hosts/tkaronto/modules/ananicy.nix b/hosts/tkaronto/modules/ananicy.nix new file mode 120000 index 0000000..6784665 --- /dev/null +++ b/hosts/tkaronto/modules/ananicy.nix @@ -0,0 +1 @@ +../../../modules/ananicy/default.nix \ No newline at end of file diff --git a/modules/ananicy/default.nix b/modules/ananicy/default.nix new file mode 100644 index 0000000..2b43bb5 --- /dev/null +++ b/modules/ananicy/default.nix @@ -0,0 +1,43 @@ +{pkgs, lib, ...}: +let + l = lib // builtins; + mkRule = name: type: l.toJSON { + inherit name type; + }; +in +{ + services.ananicy = { + enable = true; + package = pkgs.ananicy-cpp; + 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 + (mkRule "Hyprland" "LowLatency_RT") + (mkRule "rofi" "LowLatency_RT") + (mkRule "wlsunset" "BG_CPUIO") + (mkRule "swayidle" "BG_CPUIO") + # term + (mkRule "wezterm-gui" "Doc-View") + # other + (mkRule "syncthing" "BG_CPUIO") + ]; + }; +}