From 54742343c6fcc92aa3a6bdd838bc62fedcdd21dd Mon Sep 17 00:00:00 2001 From: punkfairie Date: Sun, 3 Nov 2024 12:22:58 -0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(dunst):=20Install=20dunst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flake.lock | 52 +----------------- home/services/default.nix | 1 + home/services/dunst.nix | 109 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 51 deletions(-) create mode 100644 home/services/dunst.nix 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"; + }; + } + ]; + }; +}