From 017a953b1b22399e27335b300064144f908417c3 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Wed, 30 Aug 2023 14:16:30 -0600 Subject: [PATCH] [NixOS] Use dunst instead of notify-osd --- nixos/dunst.nix | 113 ++++++++++++++++++++++++++++++++ nixos/home-manager/git-sync.nix | 19 ------ nixos/xmonad.nix | 7 +- 3 files changed, 115 insertions(+), 24 deletions(-) create mode 100644 nixos/dunst.nix delete mode 100644 nixos/home-manager/git-sync.nix diff --git a/nixos/dunst.nix b/nixos/dunst.nix new file mode 100644 index 00000000..0c9f0dd9 --- /dev/null +++ b/nixos/dunst.nix @@ -0,0 +1,113 @@ +{ + services.dunst = { + enable = true; + settings = { + global = + { + monitor = 0; + follow = "mouse"; + indicate_hidden = "yes"; + stack_duplicates = true; + hide_duplicate_count = false; + + title = "Dunst"; + class = "Dunst"; + + show_age_threshold = 60; + ellipsize = "middle"; + ignore_newline = "no"; + show_indicators = "no"; + sticky_history = "no"; + history_length = 20; + + always_run_script = true; + ignore_dbusclose = false; + force_xinerama = false; + + # Notification + sort = "yes"; + scale = 0; + shrink = "no"; + word_wrap = "yes"; + + # Geometry + width = 300; + height = 200; + origin = "top-right"; + offset = "12+48"; + + padding = 20; + horizontal_padding = 20; + notification_limit = 0; + separator_height = 2; + + # Progress-Bar + progress_bar = true; + progress_bar_height = 10; + progress_bar_frame_width = 1; + progress_bar_min_width = 150; + progress_bar_max_width = 300; + + # # Aesthetics + # font = let + # inherit (config.modules.themes.font.mono) family weight; + # in "${family} ${weight} 11"; + frame_width = 2; + separator_color = "frame"; + transparency = 0; + + line_height = 1; + idle_threshold = 120; + markup = "full"; + format = "%s\\n%b"; + alignment = "left"; + vertical_alignment = "center"; + + icon_position = "left"; + min_icon_size = 0; + max_icon_size = 64; + + # Keybindings + close = "ctrl+space"; + close_all = "ctrl+shift+space"; + history = "ctrl+grave"; + context = "ctrl+shift+period"; + + mouse_left_click = "close_current"; + mouse_middle_click = "do_action, close_current"; + mouse_right_click = "close_all"; + }; + + experimental = {per_monitor_dpi = true;}; + fullscreen_pushback_everything = {fullscreen = "pushback";}; + }; + # // optionalAttrs (active != null) { + # urgency_low = let + # inherit (config.modules.themes.colors.main.types) bg fg; + # in { + # foreground = "${fg}"; + # background = "${bg}"; + # timeout = 5; + # #icon = /path/to/icon; + # }; + # urgency_normal = let + # inherit (config.modules.themes.colors.main.types) bg fg border; + # in { + # foreground = "${fg}"; + # background = "${bg}"; + # frame_color = "${border}"; + # timeout = 7; + # #icon = /path/to/icon; + # }; + # urgency_critical = let + # inherit (config.modules.themes.colors.main.types) bg fg error; + # in { + # foreground = "${fg}"; + # background = "${bg}"; + # frame_color = "${error}"; + # timeout = 10; + # #icon = /path/to/icon + # }; + # }; + }; +} diff --git a/nixos/home-manager/git-sync.nix b/nixos/home-manager/git-sync.nix deleted file mode 100644 index fc15c544..00000000 --- a/nixos/home-manager/git-sync.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, ... }: { - services.git-sync = { - enable = true; - repositories = { - config = { - path = config.home.homeDirectory + "/config"; - uri = "git@github.com:IvanMalison/config.git"; - }; - org = { - path = config.home.homeDirectory + "/org"; - uri = "git@github.com:IvanMalison/org.git"; - }; - password-store = { - path = config.home.homeDirectory + "/.password-store"; - uri = "git@github.com:IvanMalison/.password-store.git"; - }; - }; - }; -} diff --git a/nixos/xmonad.nix b/nixos/xmonad.nix index 327628d1..86a22a27 100644 --- a/nixos/xmonad.nix +++ b/nixos/xmonad.nix @@ -33,6 +33,8 @@ makeEnable config "modules.xmonad" true { ]; home-manager.users = forEachUser { + imports = [ ./dunst.nix ]; + services.blueman-applet = { enable = true; }; @@ -42,11 +44,6 @@ makeEnable config "modules.xmonad" true { package = inputs.imalison-taffybar.defaultPackage."${pkgs.system}"; }; - services.notify-osd = { - enable = true; - package = pkgs.notify-osd-customizable; - }; - services.kdeconnect = { enable = true; indicator = true;