This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 2configs / dunst.nix
8.4 kB 276 lines
1{ config, pkgs, ... }: 2let 3 dunstConfig = pkgs.writeText "dunst-config" '' 4 [global] 5 font = Iosevka Term 11 6 7 # Allow a small subset of html markup: 8 # <b>bold</b> 9 # <i>italic</i> 10 # <s>strikethrough</s> 11 # <u>underline</u> 12 # 13 # For a complete reference see 14 # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>. 15 # If markup is not allowed, those tags will be stripped out of the 16 # message. 17 markup = yes 18 plain_text = no 19 20 # The format of the message. Possible variables are: 21 # %a appname 22 # %s summary 23 # %b body 24 # %i iconname (including its path) 25 # %I iconname (without its path) 26 # %p progress value if set ([ 0%] to [100%]) or nothing 27 # Markup is allowed 28 format = "%a\n<b>%s</b>\n%b" 29 30 # Sort messages by urgency. 31 sort = yes 32 33 # Show how many messages are currently hidden (because of geometry). 34 indicate_hidden = yes 35 36 # Alignment of message text. 37 # Possible values are "left", "center" and "right". 38 alignment = center 39 40 # The frequency with wich text that is longer than the notification 41 # window allows bounces back and forth. 42 # This option conflicts with "word_wrap". 43 # Set to 0 to disable. 44 bounce_freq = 0 45 46 # Show age of message if message is older than show_age_threshold 47 # seconds. 48 # Set to -1 to disable. 49 show_age_threshold = 1 50 51 # Split notifications into multiple lines if they don't fit into 52 # geometry. 53 word_wrap = yes 54 55 # Ignore newlines '\n' in notifications. 56 ignore_newline = no 57 58 # Hide duplicate's count and stack them 59 stack_duplicates = yes 60 hide_duplicates_count = no 61 62 63 # The geometry of the window: 64 # [{width}]x{height}[+/-{x}+/-{y}] 65 # The geometry of the message window. 66 # The height is measured in number of notifications everything else 67 # in pixels. If the width is omitted but the height is given 68 # ("-geometry x2"), the message window expands over the whole screen 69 # (dmenu-like). If width is 0, the window expands to the longest 70 # message displayed. A positive x is measured from the left, a 71 # negative from the right side of the screen. Y is measured from 72 # the top and down respectevly. 73 # The width can be negative. In this case the actual width is the 74 # screen width minus the width defined in within the geometry option. 75 geometry = "500x10-0+0" 76 77 # Shrink window if it's smaller than the width. Will be ignored if 78 # width is 0. 79 shrink = no 80 81 # The transparency of the window. Range: [0; 100]. 82 # This option will only work if a compositing windowmanager is 83 # present (e.g. xcompmgr, compiz, etc.). 84 # transparency = 5 85 86 # Don't remove messages, if the user is idle (no mouse or keyboard input) 87 # for longer than idle_threshold seconds. 88 # Set to 0 to disable. 89 idle_threshold = 0 90 91 # Which monitor should the notifications be displayed on. 92 monitor = keyboard 93 94 # Display notification on focused monitor. Possible modes are: 95 # mouse: follow mouse pointer 96 # keyboard: follow window with keyboard focus 97 # none: don't follow anything 98 # 99 # "keyboard" needs a windowmanager that exports the 100 # _NET_ACTIVE_WINDOW property. 101 # This should be the case for almost all modern windowmanagers. 102 # 103 # If this option is set to mouse or keyboard, the monitor option 104 # will be ignored. 105 follow = none 106 107 # Should a notification popped up from history be sticky or timeout 108 # as if it would normally do. 109 sticky_history = yes 110 111 # Maximum amount of notifications kept in history 112 history_length = 15 113 114 # Display indicators for URLs (U) and actions (A). 115 show_indicators = no 116 117 # The height of a single line. If the height is smaller than the 118 # font height, it will get raised to the font height. 119 # This adds empty space above and under the text. 120 line_height = 3 121 122 # Draw a line of "separatpr_height" pixel height between two 123 # notifications. 124 # Set to 0 to disable. 125 separator_height = 1 126 127 # Padding between text and separator. 128 padding = 1 129 130 # Horizontal padding. 131 horizontal_padding = 1 132 133 # Define a color for the separator. 134 # possible values are: 135 # * auto: dunst tries to find a color fitting to the background; 136 # * foreground: use the same color as the foreground; 137 # * frame: use the same color as the frame; 138 # * anything else will be interpreted as a X color. 139 separator_color = frame 140 141 # Print a notification on startup. 142 # This is mainly for error detection, since dbus (re-)starts dunst 143 # automatically after a crash. 144 startup_notification = true 145 146 # dmenu path. 147 dmenu = ${pkgs.dmenu}/bin/dmenu -p dunst: 148 149 # Browser for opening urls in context menu. 150 browser = /usr/bin/firefox -new-tab 151 152 # Align icons left/right/off 153 icon_position = off 154 max_icon_size = 80 155 156 # Paths to default icons. 157 icon_folders = /usr/share/icons/Paper/16x16/mimetypes/:/usr/share/icons/Paper/48x48/status/:/usr/share/icons/Paper/16x16/devices/:/usr/share/icons/Paper/48x48/notifications/:/usr/share/icons/Paper/48x48/emblems/ 158 159 frame_width = 2 160 frame_color = "#8EC07C" 161 162 [shortcuts] 163 164 # Shortcuts are specified as [modifier+][modifier+]...key 165 # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", 166 # "mod3" and "mod4" (windows-key). 167 # Xev might be helpful to find names for keys. 168 169 # Close notification. 170 close = ctrl+space 171 172 # Close all notifications. 173 close_all = ctrl+shift+space 174 175 # Redisplay last message(s). 176 # On the US keyboard layout "grave" is normally above TAB and left 177 # of "1". 178 history = ctrl+grave 179 180 # Context menu. 181 context = mod4+u 182 183 [urgency_low] 184 # IMPORTANT: colors have to be defined in quotation marks. 185 # Otherwise the "#" and following would be interpreted as a comment. 186 frame_color = "#3B7C87" 187 foreground = "#3B7C87" 188 background = "#191311" 189 #background = "#2B313C" 190 timeout = 1 191 192 [urgency_normal] 193 frame_color = "#5B8234" 194 foreground = "#5B8234" 195 background = "#191311" 196 #background = "#2B313C" 197 timeout = 1 198 199 [urgency_critical] 200 frame_color = "#B7472A" 201 foreground = "#B7472A" 202 background = "#191311" 203 #background = "#2B313C" 204 timeout = 1 205 206 207 # Every section that isn't one of the above is interpreted as a rules to 208 # override settings for certain messages. 209 # Messages can be matched by "appname", "summary", "body", "icon", "category", 210 # "msg_urgency" and you can override the "timeout", "urgency", "foreground", 211 # "background", "new_icon" and "format". 212 # Shell-like globbing will get expanded. 213 # 214 # SCRIPTING 215 # You can specify a script that gets run when the rule matches by 216 # setting the "script" option. 217 # The script will be called as follows: 218 # script appname summary body icon urgency 219 # where urgency can be "LOW", "NORMAL" or "CRITICAL". 220 # 221 # NOTE: if you don't want a notification to be displayed, set the format 222 # to "". 223 # NOTE: It might be helpful to run dunst -print in a terminal in order 224 # to find fitting options for rules. 225 226 #[espeak] 227 # summary = "*" 228 # script = dunst_espeak.sh 229 230 #[script-test] 231 # summary = "*script*" 232 # script = dunst_test.sh 233 234 #[ignore] 235 # # This notification will not be displayed 236 # summary = "foobar" 237 # format = "" 238 239 #[signed_on] 240 # appname = Pidgin 241 # summary = "*signed on*" 242 # urgency = low 243 # 244 #[signed_off] 245 # appname = Pidgin 246 # summary = *signed off* 247 # urgency = low 248 # 249 #[says] 250 # appname = Pidgin 251 # summary = *says* 252 # urgency = critical 253 # 254 #[twitter] 255 # appname = Pidgin 256 # summary = *twitter.com* 257 # urgency = normal 258 # 259 # vim: ft=cfg 260 ''; 261in { 262 systemd.user.services.dunst = { 263 wantedBy = [ "graphical-session.target" ]; 264 requires = [ "xmonad.service" ]; 265 environment = { 266 DISPLAY = ":${toString config.services.xserver.display}"; 267 }; 268 serviceConfig = { 269 SyslogIdentifier = "dunst"; 270 ExecStart = "${pkgs.dunst}/bin/dunst -conf ${dunstConfig}"; 271 Restart = "always"; 272 RestartSec = "15s"; 273 StartLimitBurst = 0; 274 }; 275 }; 276}