nixcfg/homeManagerModules/services/mako/default.nix
Aly Raffauf c112fcd6c5
Some checks are pending
git-mirror / gitlab-sync (push) Waiting to run
nix-build / default-build (push) Waiting to run
nix-build / fallarbor-build (push) Waiting to run
nix-build / lavaridge-build (push) Waiting to run
nix-build / mauville-build (push) Waiting to run
nix-build / petalburg-build (push) Waiting to run
nix-build / rustboro-build (push) Waiting to run
nix-check / fmt-check (push) Waiting to run
nix-check / eval-check (push) Waiting to run
migrate to stylix (#90)
* flake: add stylix modules

* yank enough to make hosts build with stylix enabled

* add initial common stylix theme

* waybar: remove custom colors

* rofi: reimplement theme

* rofi: transparency fix

* rofi: remove old theme

* swayosd: use stylix colors

* remove theme.colors

* remove remaining theme config outside icons + gtk settings

* remove darkMode toggle

* restore fuzzel module

* randomWallpaper: disable * configs in sway

* randomWallpaper: disable hyprpaper stylix config

* swaylock: restore non-theme settings

* hosts: fix wallpaper

* waybar: restore colors

* rofi: restore theme

* rofi: use proper border color

* harmonize font sizes

* rofi: use borderRadius setting

* tmux: remove theming

* hosts: add preliminary stylix configs

* randomWallpaper: force hyprpaper off

* fallarbor: set correct wallpaper

* rofi: fix transparency issues on hyprland

* sway: override stylix indicator colors
2024-08-15 15:55:39 -04:00

57 lines
1.6 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
cfg = config.ar.home;
in {
config = lib.mkIf cfg.services.mako.enable {
services.mako = {
actions = true;
anchor = "bottom-right";
borderRadius = cfg.theme.borderRadius;
borderSize = 4;
defaultTimeout = 10000;
enable = true;
groupBy = "app-name";
height = 300;
iconPath = "${pkgs.papirus-icon-theme}/share/icons/Papirus/";
icons = true;
layer = "top";
margin = "20,0";
padding = "15";
sort = "+time";
width = 400;
extraConfig = ''
on-notify=exec ${lib.getExe pkgs.mpv} ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/message.oga
outer-margin=20
[mode=do-not-disturb]
invisible=1
'';
};
systemd.user.services.mako = {
Unit = {
After = "graphical-session.target";
BindsTo = lib.optional (cfg.desktop.hyprland.enable) "hyprland-session.target" ++ lib.optional (cfg.desktop.sway.enable) "sway-session.target";
Description = "Lightweight Wayland notification daemon";
Documentation = "man:mako(1)";
PartOf = "graphical-session.target";
};
Service = {
BusName = "org.freedesktop.Notifications";
ExecReload = ''${lib.getExe' pkgs.mako "makoctl"} reload'';
ExecStart = "${lib.getExe pkgs.mako}";
Restart = lib.mkForce "no";
Type = "dbus";
};
Install.WantedBy = lib.optional (cfg.desktop.hyprland.enable) "hyprland-session.target" ++ lib.optional (cfg.desktop.sway.enable) "sway-session.target";
};
};
}