feat(dunst): Install dunst

This commit is contained in:
punkfairie 2024-11-03 12:22:58 -08:00
parent 3f09b1c787
commit 1039161172
Signed by: punkfairie
GPG key ID: 01823C057725C266
3 changed files with 111 additions and 51 deletions

View file

@ -1,20 +1,5 @@
{ {
"nodes": { "nodes": {
"flake-utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -35,41 +20,7 @@
"type": "github" "type": "github"
} }
}, },
"nixgl": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1713543440,
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
"owner": "nix-community",
"repo": "nixGL",
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixGL",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1660551188,
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1730200266, "lastModified": 1730200266,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
@ -88,8 +39,7 @@
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixgl": "nixgl", "nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"rose-pine": "rose-pine", "rose-pine": "rose-pine",
"rose-pine-amfora": "rose-pine-amfora" "rose-pine-amfora": "rose-pine-amfora"
} }

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./clipboard.nix ./clipboard.nix
./dunst.nix
./syncthing.nix ./syncthing.nix
]; ];
} }

109
home/services/dunst.nix Normal file
View file

@ -0,0 +1,109 @@
{
pkgs,
config,
lib,
...
}:
{
services.dunst = {
enable = true;
# I don't want to use the rose-pine icons; also don't want to deal with the
# drop-in weirdness.
rose-pine.enable = false;
iconTheme = {
package = pkgs.kora-icon-theme;
name = "Kora";
};
settings = lib.mkMerge [
### Rose Pine ###
# TODO: Set this conditionally based on current theme.
{
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;
corner_radius = 2;
background = "#26233a";
foreground = "#e0def4";
};
urgency_low = {
background = "#26273d";
highlight = "#31748f";
frame_color = "#31748f";
default_icon = "dialog-information";
format = "<b><span foreground='#31748f'>%s</span></b>\\n%b";
};
urgency_normal = {
background = "#362e3c";
highlight = "#f6c177";
frame_color = "#f6c177";
default_icon = "dialog-warning";
format = "<b><span foreground='#f6c177'>%s</span></b>\\n%b";
};
urgency_critical = {
background = "#35263d";
highlight = "#eb6f92";
frame_color = "#eb6f92";
default_icon = "dialog-error";
format = "<b><span foreground='#eb6f92'>%s</span></b>\\n%b";
};
}
### Custom ###
{
global = {
monitor = 0;
sort = "yes";
idle_threshold = 120;
font = (builtins.head config.fonts.fontconfig.defaultFonts.monospace) + " 10";
markup = "full";
show_age_threshold = 60;
word_wrap = "yes";
ignore_newline = "no";
stack_duplicates = true;
hide_duplicate_count = false;
show_indicators = "yes";
sticky_history = "yes";
history_length = 20;
browser = "/usr/bin/zen-browser --new-tab";
always_run_script = true;
title = "Dunst";
class = "Dunst";
mouse_left_click = "do_action";
mouse_middle_click = "close_current";
mouse_right_click = "close_all";
};
signed_on = {
appname = "Pidgin";
summary = "*signed on*";
urgency = "low";
};
signed_off = {
appname = "Pidgin";
summary = "*signed off*";
urgency = "low";
};
says = {
appname = "Pidgin";
summary = "*says*";
urgency = "critical";
};
}
];
};
}