diff --git a/dots/.config/dunst/dunstrc.nix b/dots/.config/dunst/dunstrc.nix new file mode 100644 index 0000000..5cbf078 --- /dev/null +++ b/dots/.config/dunst/dunstrc.nix @@ -0,0 +1,42 @@ +{ + lib, + config, + ... +}: let + inherit (lib) mkIf mkEnableOption mkOption types catppuccin; + cfg = config.horseman.dots.dunst; + username = config.horseman.username; + colors = config.horseman.catppuccin.colors; +in { + options = { + horseman.dots.dunst = { + enable = mkEnableOption "~/.config/dunst/dunstrc"; + }; + }; + + config = mkIf cfg.enable { + home-manager.users.${username}.xdg.configFile."dunst/dunstrc".text = '' + [global] + origin = top-left + offset = (0, -46) + font = CaskaydiaCove Nerd Font 12 + corner_radius = 10 + gap_size = 3 + + mouse_right_click = context + + background = ${catppuccin.toHex colors.base} + foreground = ${catppuccin.toHex colors.text} + frame_color = ${catppuccin.toHex colors.blue} + highlight = ${catppuccin.toHex colors.blue} + frame_width = 2 + + [urgency_low] + frame_color = ${catppuccin.toHex colors.overlay0} + + [urgency_critical] + frame_color = ${catppuccin.toHex colors.red} + highlight = ${catppuccin.toHex colors.red} + ''; + }; +} diff --git a/dots/.config/kitty/kitty.conf.nix b/dots/.config/kitty/kitty.conf.nix index 72e182e..911d826 100644 --- a/dots/.config/kitty/kitty.conf.nix +++ b/dots/.config/kitty/kitty.conf.nix @@ -16,6 +16,11 @@ in { type = types.int; default = 11; }; + + opacity = mkOption { + type = types.number; + default = 0.5; + }; }; }; @@ -24,7 +29,7 @@ in { enable_audio_bell no confirm_os_window_close 0 - background_opacity 1.0 + background_opacity ${toString cfg.opacity} font_family family='CaskaydiaCove Nerd Font' postscript_name=CaskaydiaCoveNF-Light bold_font family='CaskaydiaCove Nerd Font' style=SemiBold diff --git a/dots/default.nix b/dots/default.nix index b909d4b..296bf64 100644 --- a/dots/default.nix +++ b/dots/default.nix @@ -7,5 +7,6 @@ ./.config/wofi/style.css.nix ./.config/waybar/style.css.nix ./.config/gtk/settings.ini.nix + ./.config/dunst/dunstrc.nix ]; } diff --git a/modules/wm/hyprland/animations.nix b/modules/wm/hyprland/animations.nix index cbf7ccc..48cb318 100644 --- a/modules/wm/hyprland/animations.nix +++ b/modules/wm/hyprland/animations.nix @@ -61,6 +61,14 @@ in { speed = 20; curve = slowFade; }; + fadeLayers = { + speed = 1.5; + curve = linear; + }; + fadeSwitch = { + speed = 3; + curve = easeOut; + }; windows = { speed = 3; @@ -74,10 +82,6 @@ in { style = "popin"; }; - fadeLayers = { - speed = 1.5; - curve = linear; - }; fadeOut = { speed = 10; curve = linear; diff --git a/modules/wm/hyprland/default.nix b/modules/wm/hyprland/default.nix index 4e6b294..92a2961 100644 --- a/modules/wm/hyprland/default.nix +++ b/modules/wm/hyprland/default.nix @@ -44,6 +44,7 @@ in { fuzzel # Launcher xdg-desktop-portal-hyprland # XDG Portal (needed but idk why) catppuccin-cursors."${flavor}Dark" # Cursors + dunst # Notifications ]; horseman.hardware.keyd.enable = true; @@ -59,6 +60,7 @@ in { "systemctl --user start hyprpolkitagent" "waybar" "hyprctl setcursor catppuccin-${flavor}-dark-cursors 24" + "dunst --startup_notification" ]; env = [ @@ -76,9 +78,6 @@ in { "suppressevent maximize, class:.*" "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" - "float, initialTitle:^Picture-in-Picture$" - "center, initialTitle:^Picture-in-Picture$" - "size 1280 720, initialTitle:^Picture-in-Picture$" "opacity 1.0 override, initialTitle:^Picture-in-Picture$" "float, initialClass:CImg" @@ -105,7 +104,7 @@ in { decoration = { rounding = 10; activeOpacity = 1.0; - inactiveOpacity = 0.9; + inactiveOpacity = 0.7; dimSpecial = 0.4; @@ -117,7 +116,7 @@ in { blur = { enabled = true; - size = 10; + size = 5; passes = 3; }; }; diff --git a/modules/wm/hyprland/keybindings.nix b/modules/wm/hyprland/keybindings.nix index 7ad6416..f954e12 100644 --- a/modules/wm/hyprland/keybindings.nix +++ b/modules/wm/hyprland/keybindings.nix @@ -119,9 +119,23 @@ in { { flags = []; mods = ["SUPER"]; - key = "T"; - dispatcher = "togglegroup"; - params = ""; + key = "D"; + dispatcher = "exec"; + params = "dunstctl close"; + } + { + flags = []; + mods = ["SUPER" "SHIFT"]; + key = "D"; + dispatcher = "exec"; + params = "dunstctl close-all"; + } + { + flags = []; + mods = ["SUPER" "ALT"]; + key = "D"; + dispatcher = "exec"; + params = "dunstctl history-pop"; } { diff --git a/modules/wm/hyprland/options.nix b/modules/wm/hyprland/options.nix index 7ff1625..ee88d54 100644 --- a/modules/wm/hyprland/options.nix +++ b/modules/wm/hyprland/options.nix @@ -42,6 +42,7 @@ in { horseman.dots = { fuzzel.enable = true; waybar.enable = true; + dunst.enable = true; }; home-manager.users.${homeCfg.username} = {