From 8b3cdd756d5bef869b5adc08f8975e08d745f839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Sat, 25 Feb 2023 18:47:49 -0300 Subject: [PATCH] sway: extract modes from config --- user/sway/default.nix | 57 +--------------------------------- user/sway/sway-modes.nix | 66 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 56 deletions(-) create mode 100644 user/sway/sway-modes.nix diff --git a/user/sway/default.nix b/user/sway/default.nix index 81f03aa..5b0425a 100644 --- a/user/sway/default.nix +++ b/user/sway/default.nix @@ -8,6 +8,7 @@ in ./kanshi.nix ./mako.nix ./sway-binds.nix + ./sway-modes.nix ./swayidle.nix ./swaylock.nix ./theme.nix @@ -111,62 +112,6 @@ in { app_id = "WebCord"; } ]; }; - modes = - let - locked_binds = - lib.mapAttrs' (k: v: lib.nameValuePair "--locked ${k}" v); - code_binds = - lib.mapAttrs' (k: v: lib.nameValuePair "--to-code ${k}" v); - return_mode = lib.mapAttrs (k: v: "${v}; mode default"); - playerctl = "exec ${pkgs.playerctl}/bin/playerctl"; - in - { - audio = code_binds - (locked_binds { - ${key.tabR} = "exec volumesh -i 10"; - ${key.tabL} = "exec volumesh -d 10"; - ${key.right} = "exec mpc next"; - ${key.left} = "exec mpc prev"; - ${key.up} = "exec volumesh --mpd -i 10"; - ${key.down} = "exec volumesh --mpd -d 10"; - }) // return_mode { - "space" = "exec mpc toggle"; - "escape" = ""; - "q" = ""; - "m" = "exec volumesh -t"; - "s" = "exec ${pkgs.pulse_sink}/bin/pulse_sink"; - - "d" = "exec ${pkgs.musmenu}/bin/musmenu delete"; - "f" = "exec ${pkgs.musmenu}/bin/musmenu search"; - - "Shift+y" = "exec ${pkgs.musmenu}/bin/musmenu yank"; - "Ctrl+a" = "exec ${pkgs.musmenu}/bin/musmenu padd"; - "Ctrl+s" = "exec ${pkgs.musmenu}/bin/musmenu psave"; - "Ctrl+o" = "exec ${pkgs.musmenu}/bin/musmenu pload"; - "Ctrl+d" = "exec ${pkgs.musmenu}/bin/musmenu pdelete"; - } // { - "p" = "mode playerctl"; - "Ctrl+c" = "exec musmenu pclear"; - }; - playerctl = code_binds - ((locked_binds - { - ${key.left} = "${playerctl} previous"; - ${key.right} = "${playerctl} next"; - ${key.up} = "${playerctl} volume 10+"; - ${key.down} = "${playerctl} volume 10-"; - ${key.tabR} = "${playerctl} volume 10+"; - ${key.tabL} = "${playerctl} volume 10-"; - }) // - (return_mode { - "space" = "${playerctl} play-pause"; - "escape" = ""; - "q" = ""; - })); - passthrough = { - "${mod}+escape" = "mode default;exec notify-send 'Passthrough off'"; - }; - }; floating = { modifier = "Mod4"; criteria = [ diff --git a/user/sway/sway-modes.nix b/user/sway/sway-modes.nix new file mode 100644 index 0000000..7ba5221 --- /dev/null +++ b/user/sway/sway-modes.nix @@ -0,0 +1,66 @@ +{ config, pkgs, ... }: +let + inherit (pkgs.uservars) key accent font theme; + inherit (theme) color; + inherit (pkgs) lib; + + mod = "Mod4"; + menu = "wlauncher"; + terminal = "alacritty"; + + locked_binds = + lib.mapAttrs' (k: v: lib.nameValuePair "--locked ${k}" v); + code_binds = + lib.mapAttrs' (k: v: lib.nameValuePair "--to-code ${k}" v); + return_mode = lib.mapAttrs (k: v: "${v}; mode default"); + playerctl = "exec ${pkgs.playerctl}/bin/playerctl"; +in +{ + wayland.windowManager.sway.config.modes = { + audio = code_binds + (locked_binds { + ${key.tabR} = "exec volumesh -i 10"; + ${key.tabL} = "exec volumesh -d 10"; + ${key.right} = "exec mpc next"; + ${key.left} = "exec mpc prev"; + ${key.up} = "exec volumesh --mpd -i 10"; + ${key.down} = "exec volumesh --mpd -d 10"; + }) // return_mode { + "space" = "exec mpc toggle"; + "escape" = ""; + "q" = ""; + "m" = "exec volumesh -t"; + "s" = "exec ${pkgs.pulse_sink}/bin/pulse_sink"; + + "d" = "exec ${pkgs.musmenu}/bin/musmenu delete"; + "f" = "exec ${pkgs.musmenu}/bin/musmenu search"; + + "Shift+y" = "exec ${pkgs.musmenu}/bin/musmenu yank"; + "Ctrl+a" = "exec ${pkgs.musmenu}/bin/musmenu padd"; + "Ctrl+s" = "exec ${pkgs.musmenu}/bin/musmenu psave"; + "Ctrl+o" = "exec ${pkgs.musmenu}/bin/musmenu pload"; + "Ctrl+d" = "exec ${pkgs.musmenu}/bin/musmenu pdelete"; + } // { + "p" = "mode playerctl"; + "Ctrl+c" = "exec musmenu pclear"; + }; + playerctl = code_binds + ((locked_binds + { + ${key.left} = "${playerctl} previous"; + ${key.right} = "${playerctl} next"; + ${key.up} = "${playerctl} volume 10+"; + ${key.down} = "${playerctl} volume 10-"; + ${key.tabR} = "${playerctl} volume 10+"; + ${key.tabL} = "${playerctl} volume 10-"; + }) // + (return_mode { + "space" = "${playerctl} play-pause"; + "escape" = ""; + "q" = ""; + })); + passthrough = { + "${mod}+escape" = "mode default;exec notify-send 'Passthrough off'"; + }; + }; +}