dunst module
parent
0e0b28fbb1
commit
797f33bf5f
|
@ -13,6 +13,7 @@
|
||||||
./projects.nix
|
./projects.nix
|
||||||
./easyeffects.nix
|
./easyeffects.nix
|
||||||
./lazygit.nix
|
./lazygit.nix
|
||||||
|
./dunst.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, pkgs, config, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.snowhawk.dunst;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.snowhawk.dunst = {
|
||||||
|
enable = lib.mkEnableOption "lazygit";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
name = "rose-pine";
|
||||||
|
package = pkgs.rose-pine-icon-theme;
|
||||||
|
};
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,112 @@
|
||||||
|
{ lib, theme ? "default" }:
|
||||||
|
|
||||||
|
let
|
||||||
|
configs = {
|
||||||
|
default = {
|
||||||
|
global = {
|
||||||
|
background = "#26233a";
|
||||||
|
foreground = "#e0def4";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
background = "#26273d";
|
||||||
|
highlight = "#31748f";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#362e3c";
|
||||||
|
highlight = "#f6c177";
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#362e3c";
|
||||||
|
highlight = "#f6c177";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
moon = {
|
||||||
|
global = {
|
||||||
|
background = "#393552";
|
||||||
|
foreground = "#e0def4";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
background = "#393955";
|
||||||
|
highlight = "#3e8fb0";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#443c53";
|
||||||
|
highlight = "#f6c177";
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#433754";
|
||||||
|
highlight = "#eb6f92";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
dawn = {
|
||||||
|
global = {
|
||||||
|
background = "#f2e9e1";
|
||||||
|
foreground = "#393552";
|
||||||
|
};
|
||||||
|
urgency_low = {
|
||||||
|
background = "#e7e0da";
|
||||||
|
highlight = "#286983";
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#3e8fb0";
|
||||||
|
highlight = "#ea9d34";
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#ede0d9";
|
||||||
|
highlight = "#b4637a";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
getConfig = name:
|
||||||
|
if name == "moon" then configs.moon
|
||||||
|
else if name == "dawn" then configs.dawn
|
||||||
|
else configs.default;
|
||||||
|
|
||||||
|
selectedConfig = getConfig theme;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
global = {
|
||||||
|
width = 400;
|
||||||
|
offset = "5x5";
|
||||||
|
progress_bar_min_width = 380;
|
||||||
|
progress_bar_max_width = 380;
|
||||||
|
progress_bar_corner_radius = 2;
|
||||||
|
|
||||||
|
padding = 10;
|
||||||
|
horizontal_padding = 10;
|
||||||
|
frame_width = 1;
|
||||||
|
gap_size = 3;
|
||||||
|
font = "Monospace 14";
|
||||||
|
|
||||||
|
icon_theme = "rose-pine-icons";
|
||||||
|
enable_recursive_icon_lookup = true;
|
||||||
|
corner_radius = 2;
|
||||||
|
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,19 +13,10 @@
|
||||||
snowhawk.theme.enable = true;
|
snowhawk.theme.enable = true;
|
||||||
snowhawk.projects.enable = true;
|
snowhawk.projects.enable = true;
|
||||||
snowhawk.lazygit.enable = true;
|
snowhawk.lazygit.enable = true;
|
||||||
|
snowhawk.dunst.enable = true;
|
||||||
|
|
||||||
xsession.numlock.enable = true;
|
xsession.numlock.enable = true;
|
||||||
|
|
||||||
services.dunst = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
name = "rose-pine";
|
|
||||||
package = pkgs.rose-pine-icon-theme;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."dunst/dunstrc.d/50-theme.conf".source = inputs.dunst-theme.outPath + "/rose-pine.conf";
|
|
||||||
|
|
||||||
services.unclutter.enable = true;
|
services.unclutter.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue