diff --git a/apply.sh b/apply.sh
index dd8fe8a..fc33e99 100755
--- a/apply.sh
+++ b/apply.sh
@@ -26,6 +26,11 @@ rm ~/.config/i3/config
ln -sv ~/dotfiles/i3/config ~/.config/i3/config
# sudo cp ~/dotfiles/i3/i3-gaps.desktop /usr/share/xsessions/i3-gaps.desktop
+# dunst
+mkdir -p ~/.config/dunst
+rm ~/.config/dunst/dunstrc
+ln -sv ~/dotfiles/dunst/dunstrc ~/.config/dunst/dunstrc
+
# polybar
mkdir -p ~/.config/polybar
rm ~/.config/polybar/config
diff --git a/dunst/dunstrc b/dunst/dunstrc
new file mode 100644
index 0000000..1ac2be1
--- /dev/null
+++ b/dunst/dunstrc
@@ -0,0 +1,128 @@
+# @see https://github.com/dunst-project/dunst/blob/master/dunstrc
+
+[global]
+ # Position
+
+ origin = top-right
+ offset = 16x48
+
+ shrink = yes
+
+ # Display
+
+ monitor = 0
+ follow = mouse
+
+ # History
+
+ sticky_history = yes
+ history_length = 20
+
+
+ # Timings
+
+ show_age_threshold = 60
+ idle_threshold = 120
+
+ # Tuning
+
+ sort = yes
+
+ hide_duplicate_count = yes
+ indicate_hidden = yes
+ show_indicators = no
+
+ startup_notification = false
+
+ # Borders
+
+ frame_width = 2
+ frame_color = "#cdcdcd"
+
+ gap_size = 0
+
+ separator_height = 3
+ separator_color = "#cdcdcd"
+
+ # Paddings
+
+ padding = 16
+ horizontal_padding = 12
+
+ # Progress bar
+
+ highlight = "#cdcdcd"
+
+ progress_bar = true
+ progress_bar_height = 8
+ progress_bar_frame_width = 0
+ progress_bar_min_width = 300
+
+ # Content
+
+ font = Noto Sans 11
+
+ alignment = left
+ word_wrap = yes
+ ignore_newline = no
+ transparency = 0
+ line_height = 0
+
+ icon_position = off
+
+ # Possible values are:
+ # full: Allow a small subset of html markup in notifications:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # For a complete reference see
+ # .
+ #
+ # strip: This setting is provided for compatibility with some broken
+ # clients that send markup even though it's not enabled on the
+ # server. Dunst will try to strip the markup but the parsing is
+ # simplistic so using this option outside of matching rules for
+ # specific applications *IS GREATLY DISCOURAGED*.
+ #
+ # no: Disable markup parsing, incoming notifications will be treated as
+ # plain text. Dunst will not advertise that it has the body-markup
+ # capability if this is set as a global setting.
+ #
+ # It's important to note that markup inside the format option will be parsed
+ # regardless of what this is set to.
+ markup = full
+
+ # 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
+ # %n progress value if set without any extra characters
+ # %% Literal %
+ # Markup is allowed
+ format = "%s %n\n\n%b\n"
+
+[urgency_low]
+ background = "#222222"
+ foreground = "#cdcdcd"
+ timeout = 3
+
+[urgency_normal]
+ background = "#222222"
+ foreground = "#cdcdcd"
+ timeout = 5
+
+[urgency_critical]
+ background = "#383838"
+ foreground = "#ffffff"
+ timeout = 0
+
+[change-format]
+ appname = dunstify
+ format = "%s\n\n%b\n"
+
+# vim: ft=cfg