From 0560adc22a9d36526fb9a84b375e0b6071a33824 Mon Sep 17 00:00:00 2001 From: Ahurac Date: Tue, 15 Oct 2024 09:45:54 +0200 Subject: [PATCH] feat(niri): commonize --- ahrc-laptop/home.nix | 89 ++--------------------------------------- common/home.nix | 94 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 96 insertions(+), 87 deletions(-) diff --git a/ahrc-laptop/home.nix b/ahrc-laptop/home.nix index 8ab18b7..5b4a60c 100644 --- a/ahrc-laptop/home.nix +++ b/ahrc-laptop/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, ... }: { imports = [ ../common/home.nix ]; @@ -44,66 +44,18 @@ }; programs.niri = { - enable = true; - package = pkgs.niri; settings = { input = { - keyboard = { - xkb.layout = "fr"; - xkb.options = "compose:rctrl"; - repeat-delay = 300; - repeat-rate = 100; - }; + keyboard.xkb.layout = "fr"; touchpad = { tap = true; natural-scroll = true; accel-profile = "flat"; }; - mouse.accel-profile = "flat"; - warp-mouse-to-focus = true; - focus-follows-mouse.enable = true; }; outputs."eDP-1" = { scale = 1; }; - layout = { - gaps = 10; - default-column-width.proportion = 0.5; - preset-window-heights = [{ proportion = 1.0 / 2.0; }]; - focus-ring.enable = false; - border = { - enable = true; - width = 2; - active.color = "#35f835e5"; - inactive.color = "#80808080"; - }; - }; - workspaces = { - w1.name = "admin"; - w2.name = "everything"; - w3.name = "apps"; - }; - window-rules = [ - { - matches = - [{ app-id = "^(im\\.riot\\.Riot|WebCord|@joplin/app-desktop)$"; }]; - open-on-workspace = "apps"; - } - { - geometry-corner-radius = { - top-left = 10.0; - top-right = 10.0; - bottom-right = 10.0; - bottom-left = 10.0; - }; - clip-to-geometry = true; - } - ]; - prefer-no-csd = true; - screenshot-path = "~/screenshots/%Y%m%d%H%m%N.png"; + layout.border.active.color = "#35f835e5"; binds = with config.lib.niri.actions; { - "Mod+Space".action = spawn "alacritty"; - "Mod+Shift+Space".action = spawn "alacritty -e sudo -i"; - "Mod+F1".action = spawn "anyrun"; - "Mod+L".action = spawn "hyprlock"; "XF86AudioRaiseVolume" = { allow-when-locked = true; action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; @@ -124,43 +76,8 @@ allow-when-locked = true; action = spawn "brightnessctl" "set" "+10"; }; - "Mod+Shift+Q".action = close-window; - "Mod+A".action = focus-column-left; - "Mod+Z".action = focus-window-or-workspace-up; - "Mod+S".action = focus-window-or-workspace-down; - "Mod+D".action = focus-column-right; - "Mod+Shift+A".action = move-column-left; - "Mod+Shift+Z".action = move-window-up-or-to-workspace-up; - "Mod+Shift+S".action = move-window-down-or-to-workspace-down; - "Mod+Shift+D".action = move-column-right; - "Mod+Page_Up".action = focus-workspace-up; - "Mod+Page_Down".action = focus-workspace-down; - "Mod+WheelScrollDown".action = focus-column-right; - "Mod+WheelScrollUp".action = focus-column-left; - "Mod+Shift+WheelScrollDown".action = move-column-right; - "Mod+Shift+WheelScrollUp".action = move-column-left; "Alt+TouchpadScrollDown".action = spawn "brightnessctl" "set" "10-"; "Alt+TouchpadScrollUp".action = spawn "brightnessctl" "set" "+10"; - "Mod+ampersand".action = focus-workspace 1; - "Mod+eacute".action = focus-workspace 2; - "Mod+quotedbl".action = focus-workspace 3; - "Mod+apostrophe".action = focus-workspace 4; - "Mod+Shift+ampersand".action = move-column-to-workspace 1; - "Mod+Shift+eacute".action = move-column-to-workspace 2; - "Mod+Shift+quotedbl".action = move-column-to-workspace 3; - "Mod+Shift+apostrophe".action = move-column-to-workspace 4; - "Mod+Tab".action = focus-workspace-previous; - "Mod+F".action = maximize-column; - "Mod+W".action = set-column-width "-10%"; - "Mod+X".action = set-column-width "+10%"; - "Mod+Shift+W".action = set-window-height "-10%"; - "Mod+Shift+X".action = set-window-height "+10%"; - "Print".action = screenshot-screen; - "Shift+Print".action = screenshot; - "Alt+Print".action = screenshot-window; - "Mod+Shift+Backspace" = { - action = quit { skip-confirmation = true; }; - }; "XF86Display".action = power-off-monitors; }; }; diff --git a/common/home.nix b/common/home.nix index 5272682..46e07b1 100644 --- a/common/home.nix +++ b/common/home.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: { home.username = "ahurac"; @@ -487,4 +487,96 @@ }; Install = { WantedBy = [ "graphical-session.target" ]; }; }; + + programs.niri = { + enable = true; + package = pkgs.niri; + settings = { + input = { + keyboard = { + xkb.options = "compose:rctrl"; + repeat-delay = 300; + repeat-rate = 100; + }; + mouse.accel-profile = "flat"; + warp-mouse-to-focus = true; + focus-follows-mouse.enable = true; + }; + layout = { + gaps = 10; + default-column-width.proportion = 0.5; + preset-window-heights = [{ proportion = 1.0 / 2.0; }]; + focus-ring.enable = false; + border = { + enable = true; + width = 2; + inactive.color = "#80808080"; + }; + }; + workspaces = { + w1.name = "admin"; + w2.name = "everything"; + w3.name = "apps"; + }; + window-rules = [ + { + matches = + [{ app-id = "^(im\\.riot\\.Riot|WebCord|@joplin/app-desktop)$"; }]; + open-on-workspace = "apps"; + } + { + geometry-corner-radius = { + top-left = 10.0; + top-right = 10.0; + bottom-right = 10.0; + bottom-left = 10.0; + }; + clip-to-geometry = true; + } + ]; + prefer-no-csd = true; + screenshot-path = "~/screenshots/%Y%m%d%H%m%N.png"; + binds = with config.lib.niri.actions; { + "Mod+Space".action = spawn "alacritty"; + "Mod+Shift+Space".action = spawn "alacritty -e sudo -i"; + "Mod+F1".action = spawn "anyrun"; + "Mod+L".action = spawn "hyprlock"; + "Mod+Shift+Q".action = close-window; + "Mod+A".action = focus-column-left; + "Mod+Z".action = focus-window-or-workspace-up; + "Mod+S".action = focus-window-or-workspace-down; + "Mod+D".action = focus-column-right; + "Mod+Shift+A".action = move-column-left; + "Mod+Shift+Z".action = move-window-up-or-to-workspace-up; + "Mod+Shift+S".action = move-window-down-or-to-workspace-down; + "Mod+Shift+D".action = move-column-right; + "Mod+Page_Up".action = focus-workspace-up; + "Mod+Page_Down".action = focus-workspace-down; + "Mod+WheelScrollDown".action = focus-column-right; + "Mod+WheelScrollUp".action = focus-column-left; + "Mod+Shift+WheelScrollDown".action = move-column-right; + "Mod+Shift+WheelScrollUp".action = move-column-left; + "Mod+ampersand".action = focus-workspace 1; + "Mod+eacute".action = focus-workspace 2; + "Mod+quotedbl".action = focus-workspace 3; + "Mod+apostrophe".action = focus-workspace 4; + "Mod+Shift+ampersand".action = move-column-to-workspace 1; + "Mod+Shift+eacute".action = move-column-to-workspace 2; + "Mod+Shift+quotedbl".action = move-column-to-workspace 3; + "Mod+Shift+apostrophe".action = move-column-to-workspace 4; + "Mod+Tab".action = focus-workspace-previous; + "Mod+F".action = maximize-column; + "Mod+W".action = set-column-width "-10%"; + "Mod+X".action = set-column-width "+10%"; + "Mod+Shift+W".action = set-window-height "-10%"; + "Mod+Shift+X".action = set-window-height "+10%"; + "Print".action = screenshot-screen; + "Shift+Print".action = screenshot; + "Alt+Print".action = screenshot-window; + "Mod+Shift+Backspace" = { + action = quit { skip-confirmation = true; }; + }; + }; + }; + }; }