mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-04-26 08:28:31 +02:00
basic river configuration
This commit is contained in:
parent
3b3736c0d3
commit
ca8ac0f517
11 changed files with 150 additions and 57 deletions
88
users/rouven/modules/wayland/river.nix
Normal file
88
users/rouven/modules/wayland/river.nix
Normal file
|
@ -0,0 +1,88 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
river
|
||||
];
|
||||
systemd.user.targets.river-session = {
|
||||
Unit = {
|
||||
After = "graphical-session-pre.target";
|
||||
BindsTo = "graphical-session.target";
|
||||
Description = "river compositor session";
|
||||
Wants = "graphical-session-pre.target";
|
||||
};
|
||||
};
|
||||
xdg.configFile = {
|
||||
"river/init" = {
|
||||
source =
|
||||
pkgs.writeShellScript "river-init.sh" ''
|
||||
riverctl focus-follows-cursor always
|
||||
riverctl spawn rivertile
|
||||
riverctl default-layout rivertile
|
||||
riverctl output-layout rivertile
|
||||
riverctl keyboard-layout -variant dvorak-alt-intl us
|
||||
riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad tap enabled
|
||||
riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad drag enabled
|
||||
riverctl input pointer-2-7-SynPS/2_Synaptics_TouchPad middle-emulation enabled
|
||||
|
||||
riverctl spawn "${lib.getExe pkgs.swaybg} -i ${../../../../images/wallpaper.png}"
|
||||
systemctl --user start river-session.target
|
||||
${pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL
|
||||
|
||||
riverctl map normal Super Return spawn footclient
|
||||
riverctl map normal Super+Shift Q close
|
||||
riverctl map normal Super F toggle-fullscreen
|
||||
|
||||
riverctl map normal Super S send-to-output next
|
||||
|
||||
riverctl map normal Super+Shift K send-layout-cmd rivertile "main-count +1"
|
||||
riverctl map normal Super+Shift J send-layout-cmd rivertile "main-count -1"
|
||||
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-ratio +0.05"
|
||||
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-ratio -0.05"
|
||||
|
||||
riverctl map normal Super K focus-view next
|
||||
riverctl map normal Super J focus-view previous
|
||||
riverctl map normal Super L focus-output next
|
||||
riverctl map normal Super H focus-output previous
|
||||
riverctl map normal Super O send-to-output next
|
||||
# riverctl map-pointer normal Super BTN_LEFT move-view
|
||||
|
||||
# riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||
|
||||
riverctl map normal Alt Space spawn ${lib.getExe pkgs.fuzzel}
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Super+[1-9] to focus tag [0-8]
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
|
||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
riverctl map normal None Print spawn "${lib.getExe pkgs.sway-contrib.grimshot} copy area"
|
||||
riverctl map normal None XF86Launch2 spawn "${lib.getExe pkgs.sway-contrib.grimshot} save area - | ${lib.getExe pkgs.swappy} -f -"
|
||||
riverctl map normal None XF86MonBrightnessUp spawn "${lib.getExe pkgs.light} -A 10"
|
||||
riverctl map normal None XF86MonBrightnessDown spawn "${lib.getExe pkgs.light} -U 10"
|
||||
riverctl map normal None XF86AudioMute spawn "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
riverctl map normal None XF86AudioMicMute spawn "${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
||||
riverctl map normal None XF86AudioRaiseVolume spawn "${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%"
|
||||
riverctl map normal None XF86AudioLowerVolume spawn "${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
riverctl map normal Shift XF86AudioRaiseVolume spawn "${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%"
|
||||
riverctl map normal Shift XF86AudioLowerVolume spawn "${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%"
|
||||
riverctl map normal None XF86Favorites spawn "${pkgs.systemd}/bin/loginctl lock-session"
|
||||
# riverctl map normal None XF86PowerOff spawn "${lib.getExe pkgs.wlogout}"
|
||||
riverctl map normal None XF86Messenger spawn "${pkgs.swaynotificationcenter}/bin/swaync-client --toggle-panel"
|
||||
riverctl map normal None Cancel spawn "${pkgs.swaynotificationcenter}/bin/swaync-client --hide-latest"
|
||||
riverctl map normal Shift Cancel spawn "${pkgs.swaynotificationcenter}/bin/swaync-client --cloes-all"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue