From 4aa27d9f387510b238fe583d6abe0332bb15feed Mon Sep 17 00:00:00 2001 From: Gabriella Bere Date: Mon, 20 Oct 2025 12:12:13 +0100 Subject: [PATCH] fixed workspaces, added more keybinds niri config is now properly keyboard enabled, can manage workspaces with keybinds too. also my headphones play-pause button works now which is nice --- home-manager/home.nix | 9 +++++++-- home-manager/niri.nix | 39 +++++++++++++++++++++++++++++++-------- home-manager/packages.nix | 1 + 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/home-manager/home.nix b/home-manager/home.nix index 99c4f41..d6ec31f 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -76,6 +76,11 @@ # Add support for bluetooth headset media controls services.mpris-proxy.enable = true; - programs.kitty.enable = true; - programs.fuzzel.enable = true; + programs.kitty = { + enable = true; + settings = { + cursor_trail = 1; # lovely cursor trail effect + }; + }; + programs.fuzzel.enable = true; # launcher } diff --git a/home-manager/niri.nix b/home-manager/niri.nix index 44227a4..8f6114f 100644 --- a/home-manager/niri.nix +++ b/home-manager/niri.nix @@ -11,11 +11,20 @@ mod-key = "SUPER"; focus-follows-mouse = { enable = true; - max-scroll-amount = "95%"; + max-scroll-amount = "0%"; }; warp-mouse-to-focus.enable = true; mouse.natural-scroll = false; + touchpad = { + natural-scroll = false; + dwt = true; # disable when typing + }; }; + spawn-at-startup = [ + { argv = ["kitty"]; } + { argv = ["owncloud"]; } + ]; + outputs = { "eDP-2" = { focus-at-startup = true; @@ -41,9 +50,18 @@ }; }; workspaces = { - "main".open-on-output = "eDP-2"; - "comms".open-on-output = "Lenovo Group Limited LEN G24-10 U5B4KL78"; - "bg_noise".open-on-output = "Lenovo Group Limited LEN G24-10 U5B4ZAM2"; + "main" = { + open-on-output = "eDP-2"; + name = "Main"; + }; + "comms" = { + open-on-output = "Lenovo Group Limited LEN G24-10 U5B4KL78"; + name = "Communication"; + }; + "bg_noise" = { + open-on-output = "Lenovo Group Limited LEN G24-10 U5B4ZAM2"; + name = "Media"; + }; }; layout = { gaps = 5; @@ -72,10 +90,11 @@ "Print".action = screenshot; "Mod+2".action = show-hotkey-overlay; # window controls - #"Mod".action = toggle-overview; # i really want this but i dont know how to make it work TODO + #"Super".action = toggle-overview; # this doesnt work without release binds, the PR for which is my first bookmark in ~/bookmarks.html "Mod+F11".action = fullscreen-window; "Mod+x".action = close-window; "Mod+Tab".action = toggle-window-floating; + "Mod+h".action = focus-column-or-monitor-left; "Mod+j".action = focus-window-or-monitor-down; "Mod+k".action = focus-window-or-monitor-up; @@ -84,6 +103,11 @@ "Mod+Shift+j".action = move-window-down; "Mod+Shift+k".action = move-window-up; "Mod+Shift+l".action = move-column-right-or-to-monitor-right; + "Mod+Ctrl+j".action = focus-workspace-down; + "Mod+Ctrl+k".action = focus-workspace-up; + "Mod+Ctrl+Shift+j".action = move-window-to-workspace-down; + "Mod+Ctrl+Shift+k".action = move-window-to-workspace-up; + "Mod+Comma".action = consume-or-expel-window-left; "Mod+Period".action = consume-or-expel-window-right; "Mod+Return".action = switch-preset-column-width; @@ -93,6 +117,8 @@ "Mod+Up".action = focus-workspace-up; "Mod+Down".action = focus-workspace-down; # not sure how to do the "send window to workspace" keybinds from the hyprland config + + "XF86AudioPause".action = spawn "playerctl play-pause"; }; window-rules = [ { @@ -124,7 +150,4 @@ }; }; }; - # home.packages = with pkgs; [ - # xwayland-satellite-unstable - # ]; } diff --git a/home-manager/packages.nix b/home-manager/packages.nix index 8e0f8a4..39aa9f7 100644 --- a/home-manager/packages.nix +++ b/home-manager/packages.nix @@ -34,6 +34,7 @@ libreoffice # office suite zoom-us # proprietary meeting app libnotify # notification server useful in scripting + playerctl # lets you play and pause media from the terminal peaclock # timer and clock app with vi-like controls # Audio Plugins