From 4af53751bbb70f60e1b4300b9fd7d136bc738e90 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 2 Oct 2019 17:28:38 +0200 Subject: Migrate dunst to home-manager --- system/modules/programs/i3.nix | 1 - system/modules/programs/window-manager.nix | 1 - user/dunst/.config/dunst/dunstrc | 245 ----------------------------- user/modules/dunst.nix | 41 ++++- 4 files changed, 38 insertions(+), 250 deletions(-) delete mode 100644 user/dunst/.config/dunst/dunstrc diff --git a/system/modules/programs/i3.nix b/system/modules/programs/i3.nix index 017f393e..b0140cdb 100644 --- a/system/modules/programs/i3.nix +++ b/system/modules/programs/i3.nix @@ -5,7 +5,6 @@ i3 = { enable = true; extraSessionCommands = '' - ${pkgs.dunst}/bin/dunst & ${pkgs.sxhkd}/bin/sxhkd & ''; }; diff --git a/system/modules/programs/window-manager.nix b/system/modules/programs/window-manager.nix index ee6877d8..7095d523 100644 --- a/system/modules/programs/window-manager.nix +++ b/system/modules/programs/window-manager.nix @@ -36,7 +36,6 @@ environment.systemPackages = with pkgs; [ dmenu - dunst libnotify # for notify-send rofi sxhkd diff --git a/user/dunst/.config/dunst/dunstrc b/user/dunst/.config/dunst/dunstrc deleted file mode 100644 index 73c932d2..00000000 --- a/user/dunst/.config/dunst/dunstrc +++ /dev/null @@ -1,245 +0,0 @@ -[global] - font = Monospace 13 - - # Allow a small subset of html markup: - # bold - # italic - # strikethrough - # underline - # - # For a complete reference see - # . - # If markup is not allowed, those tags will be stripped out of the - # message. - allow_markup = yes - - # The format of the message. Possible variables are: - # %a appname - # %s summary - # %b body - # %i iconname (including its path) - # %I iconname (without its path) - # %p progress value if set ([ 0%] to [100%]) or nothing - # Markup is allowed - format = "%s\n%b" - - # Sort messages by urgency. - sort = yes - - # Show how many messages are currently hidden (because of geometry). - indicate_hidden = yes - - # Alignment of message text. - # Possible values are "left", "center" and "right". - alignment = left - - # The frequency with wich text that is longer than the notification - # window allows bounces back and forth. - # This option conflicts with "word_wrap". - # Set to 0 to disable. - bounce_freq = 0 - - # Show age of message if message is older than show_age_threshold - # seconds. - # Set to -1 to disable. - show_age_threshold = 60 - - # Split notifications into multiple lines if they don't fit into - # geometry. - word_wrap = yes - - # Ignore newlines '\n' in notifications. - ignore_newline = no - - - # The geometry of the window: - # [{width}]x{height}[+/-{x}+/-{y}] - # The geometry of the message window. - # The height is measured in number of notifications everything else - # in pixels. If the width is omitted but the height is given - # ("-geometry x2"), the message window expands over the whole screen - # (dmenu-like). If width is 0, the window expands to the longest - # message displayed. A positive x is measured from the left, a - # negative from the right side of the screen. Y is measured from - # the top and down respectevly. - # The width can be negative. In this case the actual width is the - # screen width minus the width defined in within the geometry option. - geometry = "300x10-10+30" - - # Shrink window if it's smaller than the width. Will be ignored if - # width is 0. - shrink = no - - # The transparency of the window. Range: [0; 100]. - # This option will only work if a compositing windowmanager is - # present (e.g. xcompmgr, compiz, etc.). - transparency = 0 - - # Don't remove messages, if the user is idle (no mouse or keyboard input) - # for longer than idle_threshold seconds. - # Set to 0 to disable. - idle_threshold = 120 - - # Which monitor should the notifications be displayed on. - monitor = 0 - - # Display notification on focused monitor. Possible modes are: - # mouse: follow mouse pointer - # keyboard: follow window with keyboard focus - # none: don't follow anything - # - # "keyboard" needs a windowmanager that exports the - # _NET_ACTIVE_WINDOW property. - # This should be the case for almost all modern windowmanagers. - # - # If this option is set to mouse or keyboard, the monitor option - # will be ignored. - follow = mouse - - # Should a notification popped up from history be sticky or timeout - # as if it would normally do. - sticky_history = yes - - # Maximum amount of notifications kept in history - history_length = 20 - - # Display indicators for URLs (U) and actions (A). - show_indicators = yes - - # The height of a single line. If the height is smaller than the - # font height, it will get raised to the font height. - # This adds empty space above and under the text. - line_height = 0 - - # Draw a line of "separatpr_height" pixel height between two - # notifications. - # Set to 0 to disable. - separator_height = 2 - - # Padding between text and separator. - padding = 8 - - # Horizontal padding. - horizontal_padding = 8 - - # Define a color for the separator. - # possible values are: - # * auto: dunst tries to find a color fitting to the background; - # * foreground: use the same color as the foreground; - # * frame: use the same color as the frame; - # * anything else will be interpreted as a X color. - separator_color = frame - - # Print a notification on startup. - # This is mainly for error detection, since dbus (re-)starts dunst - # automatically after a crash. - startup_notification = false - - # dmenu path. - dmenu = /usr/bin/env dmenu -p dunst: - - # Browser for opening urls in context menu. - browser = /usr/bin/env firefox -new-tab - - # Align icons left/right/off - icon_position = off - - # Paths to default icons. - icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ - -[frame] - width = 1 - color = "#383838" - -[shortcuts] - - # Shortcuts are specified as [modifier+][modifier+]...key - # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", - # "mod3" and "mod4" (windows-key). - # Xev might be helpful to find names for keys. - - # Close notification. - close = mod4+apostrophe - - # Close all notifications. - close_all = mod4+shift+apostrophe - - # Redisplay last message(s). - # On the US keyboard layout "grave" is normally above TAB and left - # of "1". - history = mod4+grave - - # Context menu. - context = mod4+shift+period - -[urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the "#" and following would be interpreted as a comment. - background = "#b8b8b8" - foreground = "#f8f8f8" - timeout = 10 - -[urgency_normal] - background = "#7cafc2" - foreground = "#f8f8f8" - timeout = 10 - -[urgency_critical] - background = "#ab4642" - foreground = "#f8f8f8" - timeout = 0 - - -# Every section that isn't one of the above is interpreted as a rules to -# override settings for certain messages. -# Messages can be matched by "appname", "summary", "body", "icon", "category", -# "msg_urgency" and you can override the "timeout", "urgency", "foreground", -# "background", "new_icon" and "format". -# Shell-like globbing will get expanded. -# -# SCRIPTING -# You can specify a script that gets run when the rule matches by -# setting the "script" option. -# The script will be called as follows: -# script appname summary body icon urgency -# where urgency can be "LOW", "NORMAL" or "CRITICAL". -# -# NOTE: if you don't want a notification to be displayed, set the format -# to "". -# NOTE: It might be helpful to run dunst -print in a terminal in order -# to find fitting options for rules. - -#[espeak] -# summary = "*" -# script = dunst_espeak.sh - -#[script-test] -# summary = "*script*" -# script = dunst_test.sh - -#[ignore] -# # This notification will not be displayed -# summary = "foobar" -# format = "" - -#[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 -# -#[twitter] -# appname = Pidgin -# summary = *twitter.com* -# urgency = normal -# -# vim: ft=cfg diff --git a/user/modules/dunst.nix b/user/modules/dunst.nix index 78268c04..5c8a46eb 100644 --- a/user/modules/dunst.nix +++ b/user/modules/dunst.nix @@ -1,8 +1,43 @@ { config, pkgs, ... }: { - xdg.configFile.dunst = { - recursive = true; - source = ../dunst/.config/dunst; + services.dunst = { + enable = true; + settings = { + global = { + font = "Monospace 13"; + geometry = "300x10-10+30"; + follow = "none"; + sticky_history = "yes"; + history_length = 20; + show_indicators = "yes"; + separator_height = 2; + padding = 8; + horizontal_padding = 8; + + separator_color = "frame"; + }; + frame = { + width = 1; + color = "#383838"; + }; + urgency_low = { + background = "#b8b8b8"; + foreground = "#f8f8f8"; + timeout = 10; + }; + + urgency_normal = { + background = "#7cafc2"; + foreground = "#f8f8f8"; + timeout = 10; + }; + + urgency_critical = { + background = "#ab4642"; + foreground = "#f8f8f8"; + timeout = 0; + }; + }; }; } -- cgit 1.4.1