26 lines
990 B
Nix
26 lines
990 B
Nix
{ config, lib, ... }:
|
|
let
|
|
inherit (config.catppuccin) sources;
|
|
cfg = config.services.dunst.catppuccin;
|
|
enable = cfg.enable && config.services.dunst.enable;
|
|
in
|
|
{
|
|
options.services.dunst.catppuccin = lib.ctp.mkCatppuccinOpt { name = "dunst"; } // {
|
|
prefix = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "00";
|
|
description = "Prefix to use for the dunst drop-in file";
|
|
};
|
|
};
|
|
|
|
# Dunst currently has no "include" functionality, but has "drop-ins"
|
|
# Unfortunately, this may cause inconvenience as it overrides ~/.config/dunst/dunstrc
|
|
# but it can be overridden by another drop-in.
|
|
config.xdg.configFile = lib.mkIf enable {
|
|
# Using a prefix like this is necessary because drop-ins' precedence depends on lexical order
|
|
# such that later drop-ins override earlier ones
|
|
# This way, users have better control over precedence
|
|
"dunst/dunstrc.d/${cfg.prefix}-catppuccin.conf".source =
|
|
sources.dunst + "/themes/${cfg.flavor}.conf";
|
|
};
|
|
}
|