diff --git a/home-manager/linux/programs/sway.nix b/home-manager/linux/programs/sway.nix index 3511b78..ddd5364 100644 --- a/home-manager/linux/programs/sway.nix +++ b/home-manager/linux/programs/sway.nix @@ -17,8 +17,6 @@ in with lib; { swaylock-package swayidle # Clipboard - wl-clipboard - wl-clipboard-x11 # Notifications mako # Terminal @@ -49,8 +47,8 @@ in with lib; { libreoffice-fresh ## Sway addons font-awesome - wob-package inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.hyprpaper + swayosd # For fancy x11 scaling sommelier # Polkit @@ -172,6 +170,16 @@ in with lib; { bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow + # Media key binds + bind = , xf86audioraisevolume, exec, swayosd --output-volume=raise + bind = SHIFT, xf86audioraisevolume, exec, swayosd --output-volume=+2 + bind = , xf86audiolowervolume, exec, swayosd --output-volume=lower + bind = SHIFT, xf86audiolowervolume, exec, swayosd --output-volume=-2 + bind = , xf86audiomute, exec, swayosd --output-volume mute-toggle + + # Caps lock indicator + bindr = CAPS, caps_lock, exec, swayosd --caps-lock + # systemd integration exec-once=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY HYPRLAND_INSTANCE_SIGNATURE XDG_CURRENT_DESKTOP && sleep 2 && systemctl --user start hyprland-session.target ''; @@ -205,6 +213,19 @@ in with lib; { }; Install = { WantedBy = [ "graphical-session.target" ]; }; }; + # Setup swayosd as a service + systemd.user.services.swayosd = { + Unit = { + Description = "Swayosd"; + After = [ "graphical-session.target" ]; + }; + Service = { + Type = "simple"; + ExecStart = "${pkgs.swayosd}/bin/swayosd"; + Restart = "on-failure"; + }; + Install = { WantedBy = [ "graphical-session.target" ]; }; + }; ######################### ## Mako (notifications) #########################