diff --git a/modules/optional/xserver.nix b/modules/optional/xserver.nix index ebea622..1c909d1 100644 --- a/modules/optional/xserver.nix +++ b/modules/optional/xserver.nix @@ -11,7 +11,7 @@ mouse.accelProfile = "flat"; touchpad = { accelProfile = "flat"; - accelSpeed = "0.5"; + accelSpeed = "1"; naturalScrolling = true; disableWhileTyping = true; }; diff --git a/users/common/graphical/Xorg/i3.nix b/users/common/graphical/Xorg/i3.nix index 7a26fc8..d73d05c 100644 --- a/users/common/graphical/Xorg/i3.nix +++ b/users/common/graphical/Xorg/i3.nix @@ -1,22 +1,17 @@ -{ - config, - lib, - ... -}: { +{config, ...}: { + # import shared sway config + imports = [../sway3.nix]; stylix.targets.i3.enable = true; xsession.windowManager.i3 = { enable = true; - config = - lib.attrsets.recursiveUpdate - (import ../sway3.nix) - { - menu = "rofi -show drun"; - keybindings = let - cfg = config.xsession.windowManager.i3.config; - in { - "Menu" = "exec ${cfg.menu}"; - "${cfg.modifier}+c" = "exec ${cfg.menu}"; - }; + config = { + menu = "rofi -show drun"; + keybindings = let + cfg = config.xsession.windowManager.i3.config; + in { + "Menu" = "exec ${cfg.menu}"; + "${cfg.modifier}+c" = "exec ${cfg.menu}"; }; + }; }; } diff --git a/users/common/graphical/sway3.nix b/users/common/graphical/sway3.nix index 89de023..f59d467 100644 --- a/users/common/graphical/sway3.nix +++ b/users/common/graphical/sway3.nix @@ -1,3 +1,9 @@ +{ + config, + nixosConfig, + lib, + ... +}: # shared sway/i3 config let modifier = "Mod4"; @@ -6,136 +12,86 @@ let right = "s"; up = "l"; terminal = "kitty"; -in { - inherit modifier terminal; - focus = { - followMouse = false; - mouseWarping = false; - }; - #bindkeysToCode = true; - window.titlebar = false; - floating.titlebar = false; + cfg = { + inherit modifier terminal; + focus = { + followMouse = false; + mouseWarping = false; + }; + #bindkeysToCode = true; + window.titlebar = false; + floating.titlebar = false; workspaceLayout = "stacking"; - workspaceOutputAssign = [ - { - workspace = "1"; - output = "DP-4"; - } - { - workspace = "2"; - output = "DP-4"; - } - { - workspace = "3"; - output = "DP-4"; - } - { - workspace = "4"; - output = "DP-4"; - } + bars = [config.lib.stylix.i3.bar]; - { - workspace = "F1"; - output = "HDMI-0"; - } - { - workspace = "F2"; - output = "HDMI-0"; - } - { - workspace = "F3"; - output = "HDMI-0"; - } - { - workspace = "F4"; - output = "HDMI-0"; - } + workspaceOutputAssign = let + output = out: workspaces: + map (x: { + workspace = x; + output = out; + }) + workspaces; + in + { + "desktopnix" = + output "HDMI-0" ["1" "2" "3" "4"] + ++ output "DP-4" ["j" "d" "u" "a"] + ++ output "DVI-D-0" ["F1" "F2" "F3" "F4"]; + "patricknix" = + output "eDP-1" ["1" "2" "3" "4"] + ++ output "DP-1" ["j" "d" "u" "a"]; + } + .${nixosConfig.node.name} + or {}; - { - workspace = "Q"; - output = "DVI-D-0"; - } - { - workspace = "W"; - output = "DVI-D-0"; - } - { - workspace = "E"; - output = "DVI-D-0"; - } - { - workspace = "R"; - output = "DVI-D-0"; - } - ]; - keybindings = { - "${modifier}+t" = "exec ${terminal}"; - "${modifier}+b" = "exec firefox"; - "${modifier}+m" = "exec thunderbird"; - "${modifier}+q" = "kill"; + keybindings = + (lib.attrsets.mergeAttrsList (map (x: { + "${modifier}+${x.workspace}" = "workspace ${x.workspace}"; + "${modifier}+Shift+${x.workspace}" = "move container to workspace ${x.workspace}"; + }) + cfg.workspaceOutputAssign)) + // { + "${modifier}+t" = "exec ${terminal}"; + "${modifier}+b" = "exec firefox"; + "${modifier}+m" = "exec thunderbird"; + "${modifier}+q" = "kill"; - "${modifier}+${left}" = "focus left"; - "${modifier}+${down}" = "focus down"; - "${modifier}+${up}" = "focus up"; - "${modifier}+${right}" = "focus right"; + "${modifier}+${left}" = "focus left"; + "${modifier}+${down}" = "focus down"; + "${modifier}+${up}" = "focus up"; + "${modifier}+${right}" = "focus right"; - "${modifier}+Left" = "focus left"; - "${modifier}+Down" = "focus down"; - "${modifier}+Up" = "focus up"; - "${modifier}+Right" = "focus right"; + "${modifier}+Left" = "focus left"; + "${modifier}+Down" = "focus down"; + "${modifier}+Up" = "focus up"; + "${modifier}+Right" = "focus right"; - "${modifier}+Shift+${left}" = "move left"; - "${modifier}+Shift+${down}" = "move down"; - "${modifier}+Shift+${up}" = "move up"; - "${modifier}+Shift+${right}" = "move right"; + "${modifier}+Shift+${left}" = "move left"; + "${modifier}+Shift+${down}" = "move down"; + "${modifier}+Shift+${up}" = "move up"; + "${modifier}+Shift+${right}" = "move right"; - "${modifier}+Shift+Left" = "move left"; - "${modifier}+Shift+Down" = "move down"; - "${modifier}+Shift+Up" = "move up"; - "${modifier}+Shift+Right" = "move right"; + "${modifier}+Shift+Left" = "move left"; + "${modifier}+Shift+Down" = "move down"; + "${modifier}+Shift+Up" = "move up"; + "${modifier}+Shift+Right" = "move right"; - "${modifier}+v" = "splith"; - "${modifier}+udiaeresis" = "splitv"; - "${modifier}+Return" = "fullscreen toggle"; + "${modifier}+v" = "splith"; + "${modifier}+udiaeresis" = "splitv"; + "${modifier}+Return" = "fullscreen toggle"; - "${modifier}+odiaeresis" = "layout stacking"; - "${modifier}+y" = "layout tabbed"; - "${modifier}+z" = "layout toggle split"; + "${modifier}+odiaeresis" = "layout stacking"; + "${modifier}+y" = "layout tabbed"; + "${modifier}+z" = "layout toggle split"; - "${modifier}+f" = "floating toggle"; - "${modifier}+space" = "focus mode_toggle"; + "${modifier}+f" = "floating toggle"; + "${modifier}+space" = "focus mode_toggle"; - "${modifier}+comma" = "workspace prev_on_output"; - "${modifier}+period" = "workspace next_on_output"; - - "${modifier}+1" = "workspace number 1"; - "${modifier}+2" = "workspace number 2"; - "${modifier}+3" = "workspace number 3"; - "${modifier}+4" = "workspace number 4"; - - "${modifier}+F1" = "workspace F1"; - "${modifier}+F2" = "workspace F2"; - "${modifier}+F3" = "workspace F3"; - "${modifier}+F4" = "workspace F4"; - - "${modifier}+j" = "workspace Q"; - "${modifier}+d" = "workspace W"; - "${modifier}+u" = "workspace E"; - "${modifier}+a" = "workspace R"; - - "${modifier}+Shift+1" = "move container to workspace number 1"; - "${modifier}+Shift+2" = "move container to workspace number 2"; - "${modifier}+Shift+3" = "move container to workspace number 3"; - "${modifier}+Shift+4" = "move container to workspace number 4"; - - "${modifier}+Shift+F1" = "move container to workspace F1"; - "${modifier}+Shift+F2" = "move container to workspace F2"; - "${modifier}+Shift+F3" = "move container to workspace F3"; - "${modifier}+Shift+F4" = "move container to workspace F4"; - - "${modifier}+Shift+J" = "move container to workspace Q"; - "${modifier}+Shift+D" = "move container to workspace W"; - "${modifier}+Shift+u" = "move container to workspace E"; - "${modifier}+Shift+a" = "move container to workspace R"; + "${modifier}+comma" = "workspace prev_on_output"; + "${modifier}+period" = "workspace next_on_output"; + }; }; +in { + wayland.windowManager.sway.config = cfg; + xsession.windowManager.i3.config = cfg; } diff --git a/users/common/graphical/wayland/sway.nix b/users/common/graphical/wayland/sway.nix index cf66e06..394b08a 100644 --- a/users/common/graphical/wayland/sway.nix +++ b/users/common/graphical/wayland/sway.nix @@ -2,9 +2,10 @@ config, pkgs, nixosConfig, - lib, ... }: { + # import shared i3 config + imports = [../sway3.nix]; home.packages = [ pkgs.wdisplays ]; @@ -12,8 +13,6 @@ wayland.windowManager.sway = { enable = true; config = - lib.attrsets.recursiveUpdate - (import ../sway3.nix) { menu = "fuzzel"; input = { @@ -25,9 +24,10 @@ repeat_delay = "235"; repeat_rate = "60"; accel_profile = "flat"; - pointer_accel = "0.5"; + pointer_accel = "0.3"; }; "type:touchpad" = { + pointer_accel = "0.5"; natural_scroll = "enabled"; }; }; @@ -55,6 +55,19 @@ }; }; }; + patricknix = { + output = { + "Acer Technologies XB271HU #ASP7ytE/6A7d" = { + mode = "2560x1440@59.951Hz"; + pos = "0,0"; + }; + "AU Optronics 0x30EB Unknown" = { + mode = "3840x2160@60.002Hz"; + pos = "2560,0"; + scale = "2"; + }; + }; + }; } .${nixosConfig.node.name} or {}; diff --git a/users/patrick/default.nix b/users/patrick/default.nix index 835617e..202bcee 100644 --- a/users/patrick/default.nix +++ b/users/patrick/default.nix @@ -42,7 +42,7 @@ ../common ../common/impermanence.nix ../common/graphical/Xorg - #../common/graphical/wayland + ../common/graphical/wayland ../common/programs/direnv.nix ../common/programs/htop.nix