diff --git a/flake.lock b/flake.lock
index 6b47370..8989b1b 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,20 +1,5 @@
{
"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": {
"inputs": {
"nixpkgs": [
@@ -35,41 +20,7 @@
"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": {
- "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": {
"lastModified": 1730200266,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
@@ -88,8 +39,7 @@
"root": {
"inputs": {
"home-manager": "home-manager",
- "nixgl": "nixgl",
- "nixpkgs": "nixpkgs_2",
+ "nixpkgs": "nixpkgs",
"rose-pine": "rose-pine",
"rose-pine-amfora": "rose-pine-amfora"
}
diff --git a/home/services/default.nix b/home/services/default.nix
index 25e0baf..0948945 100644
--- a/home/services/default.nix
+++ b/home/services/default.nix
@@ -2,6 +2,7 @@
{
imports = [
./clipboard.nix
+ ./dunst.nix
./syncthing.nix
];
}
diff --git a/home/services/dunst.nix b/home/services/dunst.nix
new file mode 100644
index 0000000..a4933b7
--- /dev/null
+++ b/home/services/dunst.nix
@@ -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 = "%s\\n%b";
+ };
+
+ urgency_normal = {
+ background = "#362e3c";
+ highlight = "#f6c177";
+ frame_color = "#f6c177";
+ default_icon = "dialog-warning";
+ format = "%s\\n%b";
+ };
+
+ urgency_critical = {
+ background = "#35263d";
+ highlight = "#eb6f92";
+ frame_color = "#eb6f92";
+ default_icon = "dialog-error";
+ format = "%s\\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";
+ };
+ }
+ ];
+ };
+}