Compare commits

..

No commits in common. "39c7ffbe50868501d85ef165500ecc5cb8655221" and "7eb7f15b6d9749639f24a1327c1c1a376c0e4f7b" have entirely different histories.

2 changed files with 76 additions and 37 deletions

View File

@ -15,7 +15,7 @@ in
name = "rose-pine"; name = "rose-pine";
package = pkgs.rose-pine-icon-theme; package = pkgs.rose-pine-icon-theme;
}; };
settings = import ./util/rose-pine-dunst.nix { theme = "default"; }; settings = import ./util/rose-pine-dunst.nix { inherit lib; theme = "default"; };
}; };
# xdg.configFile."dunst/dunstrc.d/50-theme.conf".source = inputs.dunst-theme.outPath + "/rose-pine.conf"; # xdg.configFile."dunst/dunstrc.d/50-theme.conf".source = inputs.dunst-theme.outPath + "/rose-pine.conf";

View File

@ -1,30 +1,65 @@
{ theme ? "default" }: { lib, theme ? "default" }:
let let
configs = { configs = {
default = { default = {
global = { background = "#26233a"; foreground = "#e0def4"; }; global = {
urgency_low = { background = "#26273d"; highlight = "#31748f"; }; background = "#26233a";
urgency_normal = { background = "#362e3c"; highlight = "#f6c177"; }; foreground = "#e0def4";
urgency_critical = { background = "#362e3c"; highlight = "#eb6f92"; }; };
urgency_low = {
background = "#26273d";
highlight = "#31748f";
};
urgency_normal = {
background = "#362e3c";
highlight = "#f6c177";
};
urgency_critical = {
background = "#362e3c";
highlight = "#eb6f92";
};
}; };
moon = { moon = {
global = { background = "#393552"; foreground = "#e0def4"; }; global = {
urgency_low = { background = "#393955"; highlight = "#3e8fb0"; }; background = "#393552";
urgency_normal = { background = "#443c53"; highlight = "#f6c177"; }; foreground = "#e0def4";
urgency_critical = { background = "#433754"; highlight = "#eb6f92"; };
}; };
urgency_low = {
background = "#393955";
highlight = "#3e8fb0";
};
urgency_normal = {
background = "#443c53";
highlight = "#f6c177";
};
urgency_critical = {
background = "#433754";
highlight = "#eb6f92";
};
};
dawn = { dawn = {
global = { background = "#f2e9e1"; foreground = "#393552"; }; global = {
urgency_low = { background = "#e7e0da"; highlight = "#286983"; }; background = "#f2e9e1";
urgency_normal = { background = "#3e8fb0"; highlight = "#ea9d34"; }; foreground = "#393552";
urgency_critical = { background = "#ede0d9"; highlight = "#b4637a"; }; };
urgency_low = {
background = "#e7e0da";
highlight = "#286983";
};
urgency_normal = {
background = "#3e8fb0";
highlight = "#ea9d34";
};
urgency_critical = {
background = "#ede0d9";
highlight = "#b4637a";
};
}; };
}; };
formatWithColor = color: "<b><span foreground='${color}'>%s</span></b>\n%b";
getConfig = name: getConfig = name:
if name == "moon" then configs.moon if name == "moon" then configs.moon
@ -32,25 +67,6 @@ let
else configs.default; else configs.default;
selectedConfig = getConfig theme; selectedConfig = getConfig theme;
urgencyIcons = {
urgency_low = "dialog-information";
urgency_normal = "dialog-warning";
urgency_critical = "dialog-error";
};
urgencyColors =
builtins.listToAttrs (map
(urgency: {
name = urgency;
value = rec {
inherit (selectedConfig.${urgency}) background highlight;
frame_color = highlight;
default_icon = urgencyIcons.${urgency};
format = formatWithColor highlight;
};
})
[ "urgency_low" "urgency_normal" "urgency_critical" ]);
in in
{ {
global = { global = {
@ -69,5 +85,28 @@ in
icon_theme = "rose-pine-icons"; icon_theme = "rose-pine-icons";
enable_recursive_icon_lookup = true; enable_recursive_icon_lookup = true;
corner_radius = 2; corner_radius = 2;
} // selectedConfig.global;
} // urgencyColors inherit (selectedConfig.global) background foreground;
};
urgency_low = rec {
inherit (selectedConfig.urgency_low) background highlight;
frame_color = highlight;
default_icon = "dialog-information";
format = "<b><span foreground='${highlight}'>%s</span></b>\n%b";
};
urgency_normal = rec {
inherit (selectedConfig.urgency_normal) background highlight;
frame_color = highlight;
default_icon = "dialog-warning";
format = "<b><span foreground='${highlight}'>%s</span></b>\n%b";
};
urgency_critical = rec {
inherit (selectedConfig.urgency_critical) background highlight;
frame_color = highlight;
default_icon = "dialog-error";
format = "<b><span foreground='${highlight}'>%s</span></b>\n%b";
};
}