diff options
| author | Alexander Kassouni <alex@kassouni.net> | 2026-08-29 23:53:40 -0700 |
|---|---|---|
| committer | Alexander Kassouni <alex@kassouni.net> | 2026-08-29 23:53:40 -0700 |
| commit | af99b4960a9bf1043234354d685ed23818c14aaa (patch) | |
| tree | 9d6bd855c76c2c99e16321e1df4eeaadade28739 /users/kassouni/xbindkeys.nix | |
| parent | 8dcf355819cc6cd1e87924218c1adcd900ecda84 (diff) | |
new laptop
Diffstat (limited to 'users/kassouni/xbindkeys.nix')
| -rw-r--r-- | users/kassouni/xbindkeys.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/users/kassouni/xbindkeys.nix b/users/kassouni/xbindkeys.nix new file mode 100644 index 0000000..41ef7ed --- /dev/null +++ b/users/kassouni/xbindkeys.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: +let + wpctl = "${pkgs.wireplumber}/bin/wpctl"; + + xbindkeysrc = pkgs.writeText "xbindkeysrc" '' + "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+" + XF86AudioRaiseVolume + + "${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%-" + XF86AudioLowerVolume + + "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle" + XF86AudioMute + ''; +in +{ + systemd.user.services.xbindkeys = { + Unit = { + Description = "xbindkeys"; + PartOf = [ "graphical-session.target" ]; + After = [ "graphical-session.target" ]; + }; + + Service = { + # -n keeps it in the foreground so systemd can supervise it + ExecStart = "${pkgs.xbindkeys}/bin/xbindkeys -n -f ${xbindkeysrc}"; + Restart = "on-failure"; + }; + + Install.WantedBy = [ "graphical-session.target" ]; + }; +} |
