niri updates, some bluetoth

This commit is contained in:
Matt Nish-Lapidus 2025-03-05 10:32:45 -05:00
parent 3a9fea436d
commit e17e8fd886
5 changed files with 339 additions and 264 deletions

48
flake.lock generated
View file

@ -68,11 +68,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1741109012, "lastModified": 1741149197,
"narHash": "sha256-th96gqh+H7HoIgSLn3PpazxFTO8WjuN8IqdYtFrwzDw=", "narHash": "sha256-ctL0hvG9EMNW60Uz/EOX7QpmbDHBji4WtAgKl83E7t4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "40466220218949e1f8b36d6ba44e27644dd6bc14", "rev": "6429ee53a1c1199637602275c00aca475d8e8057",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -322,11 +322,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741056285, "lastModified": 1741174782,
"narHash": "sha256-/JKDMVqq8PIqcGonBVKbKq1SooV3kzGmv+cp3rKAgPA=", "narHash": "sha256-dYRebJk58/d5Ej1G6xTOadTfG6tU5zFgXYrLsRJlrgw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "70fbbf05a5594b0a72124ab211bff1d502c89e3f", "rev": "def0dbbcea715d4514ca343ab4d6d7f3a1742da0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -484,11 +484,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1740265014, "lastModified": 1741160143,
"narHash": "sha256-U+8HOPgfrNkFEadoyB9GXSPPFW/Uytvb3TxyqW3JOw4=", "narHash": "sha256-XqzfX+Hn1O1d8WypUDIsvqflmhhdXg0Iy9R/XRSBFmo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "e588351d1df57b125fda8d92f5b36a435545bb95", "rev": "9f37c1c8e9923dff65b4b1771694be3be59b1836",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -709,11 +709,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1741038776, "lastModified": 1741170398,
"narHash": "sha256-SCsg2krbDYOAZMn2QWYvGPoVgyaFUVTqGWKYNtmv7HI=", "narHash": "sha256-l0oWdaphJuzGPePsOZG6YBwRxrGqrZPZ3Ee+QPrEEyY=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "07eb55b6ef73fae9d702e274411079fe7d9ddfaa", "rev": "7db97394c187e2a23127a45bf7ce8b969055c0db",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -906,11 +906,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1740932899, "lastModified": 1741048562,
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=", "narHash": "sha256-W4YZ3fvWZiFYYyd900kh8P8wU6DHSiwaH0j4+fai1Sk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347", "rev": "6af28b834daca767a7ef99f8a7defa957d0ade6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -938,11 +938,11 @@
}, },
"nixpkgs-stable_4": { "nixpkgs-stable_4": {
"locked": { "locked": {
"lastModified": 1740932899, "lastModified": 1741048562,
"narHash": "sha256-F0qDu2egq18M3edJwEOAE+D+VQ+yESK6YWPRQBfOqq8=", "narHash": "sha256-W4YZ3fvWZiFYYyd900kh8P8wU6DHSiwaH0j4+fai1Sk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1546c45c538633ae40b93e2d14e0bb6fd8f13347", "rev": "6af28b834daca767a7ef99f8a7defa957d0ade6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1369,11 +1369,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1739246919, "lastModified": 1741140299,
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=", "narHash": "sha256-Y2bPO92Yg5HcH5ORvrVOQb4wRGEapGEteHXGtNvboxk=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d", "rev": "10cb041a80bb815cc1789cfa305923f1f9e3713d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1391,11 +1391,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1741103831, "lastModified": 1741157000,
"narHash": "sha256-+xV3vD8f6+UbgqxkWsgeKPXanotBKiBE4mgeznOfFys=", "narHash": "sha256-2vbPAs4FBbs+AXEXHVUs9XBD+0OEEU7jaHBPcsGdUgI=",
"owner": "sxyazi", "owner": "sxyazi",
"repo": "yazi", "repo": "yazi",
"rev": "3606bc7a1f2dcb6ba24810ad58b64e3015485e3f", "rev": "2b14e55daca5e7d9554f9e9a9f30b204ff877f3b",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,49 +1,49 @@
(in-package #:nyxt-user) ;; inspiration from: https://github.com/aartaka/nyxt-config/blob/master/config.lisp
;;; Reset ASDF registries to allow loading Lisp systems from (in-package :nyxt-user)
;;; everywhere.
#+nyxt-3 (reset-asdf-registries)
(define-configuration browser ;; search engines
((theme default)))
;; Ad block
(define-configuration :web-buffer
((default-modes
(pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%))))
;; search engine
(defvar *my-search-engines* (defvar *my-search-engines*
(list (list
'("kagi" "https://kagi.com/search?q=~a" "https://www.kagi.com/") '("wiki" "https://en.wikipedia.org/w/index.php?search=~a" "https://en.wikipedia.org/")
'("wiki" "https://en.wikipedia.org/w/index.php?search=~a" "https://en.wikipedia.org/"))) '("kagi" "https://kagi.com/search?q=~a" "https://www.kagi.com/")))
(defvar *web-buffer-modes*
'(:blocker-mode
:reduce-tracking-mode))
(define-configuration browser
((restore-session-on-startup-p t)
;; (default-new-buffer-url (quri:uri "https://github.com/atlas-engineer/nyxt"))
(external-editor-program '("emacsclient -r"))))
(define-configuration context-buffer (define-configuration context-buffer
"Go through the search engines above and make-search-engine" "Go through the search engines above and make-search-engine"
((search-engines ((search-engines
(append %slot-default% (append %slot-default%
(mapcar (mapcar
(lambda (engine) (apply 'make-search-engine engine)) (lambda (engine) (apply 'make-search-engine engine))
*my-search-engines*))))) *my-search-engines*)))))
;; auto bookmark frequently visited sites
(define-configuration bookmark-frequent-visits-mode
((threshold 10)))
;; keybindings: small emacs experience in CUA (default mode) of Nyxt ;; set web buffer default modes from *web-buffer-modes* above
(define-configuration buffer (define-configuration web-buffer
((override-map (let ((map (make-keymap "override-map"))) "Basic modes setup for web-buffer."
(define-key map ((default-modes `(,@*web-buffer-modes* ,@%slot-value%))))
"C-space" 'noop
"M-x" 'execute-command
"C-n" 'nyxt/web-mode:scroll-down
"C-p" 'nyxt/web-mode:scroll-up
"C-f" 'nyxt/web-mode:scroll-right
"C-b" 'nyxt/web-mode:scroll-left
"C-g" 'query-selection-in-search-engine
"M-s->" 'nyxt/web-mode:scroll-to-bottom
"M-s-<" 'nyxt/web-mode:scroll-to-top
"C-s" 'nyxt/web-mode:search-buffer
"M-w" 'nyxt/web-mode:copy
"C-y" 'nyxt/web-mode:paste
"C-Y" 'nyxt/web-mode:paste-from-clipboard-ring)))))
;; (define-configuration bookmark-frequent-visits-mode (define-configuration hint-mode
;; ((threshold 10))) "Set up QWERTY home row as the hint keys."
((hints-alphabet "DSJKHLFAGNMXCWEIO")))
(define-configuration prompt-buffer
((hide-single-source-header-p
t
:doc "This is to hide the header is there's only one source.
There also used to be other settings to make prompt-buffer a bit
more minimalist, but those are internal APIs :(")))
;; key binds
;; (defvar mnl-keys (make-keyscheme cua))

View file

@ -147,9 +147,8 @@
ddcutil ddcutil
ddcui ddcui
greetd.tuigreet greetd.tuigreet
nix-config.pkgs-stable.bluez-tools bluez-tools
bluetui bluetuith
qemu qemu
quickemu quickemu
@ -264,26 +263,19 @@
nvidiaSettings = true; nvidiaSettings = true;
}; };
brillo.enable = true; brillo.enable = true;
xpadneo.enable = true;
steam-hardware.enable = true; steam-hardware.enable = true;
bluetooth = { bluetooth = {
enable = true; enable = true;
package = nix-config.pkgs-stable.bluez;
settings = { settings = {
General = { General = {
Enable = "Source,Sink,Media,Socket"; Enable = "Source,Sink,Media,Socket";
AutoEnable = true;
ControllerMode = "bredr"; ControllerMode = "bredr";
Privacy = "device";
JustWorksRepairing = "always"; JustWorksRepairing = "always";
Class = "0x000100";
FastConnectable = true;
}; };
}; };
}; };
}; };
# services.blueman.enable = true;
services.blueman.enable = true;
services.fstrim.enable = true; services.fstrim.enable = true;

View file

@ -1,33 +1,52 @@
{ config, nix-config, pkgs, ... }: {
config,
nix-config,
pkgs,
...
}:
with pkgs.lib.nix-rice; with pkgs.lib.nix-rice;
let strPalette = palette.toRGBHex pkgs.rice.colorPalette; let
in { strPalette = palette.toRGBHex pkgs.rice.colorPalette;
in
{
programs = { programs = {
niri = { niri = {
settings = { settings = {
hotkey-overlay.skip-at-startup = true; # hotkey-overlay.skip-at-startup = true;
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
prefer-no-csd = true; prefer-no-csd = true;
spawn-at-startup = [ spawn-at-startup = [
{ command = ["clipse" "-listen"]; } {
{ command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" ]; } command = [
"clipse"
"-listen"
];
}
{
command = [
"systemctl"
"--user"
"restart"
"xwayland-satellite.service"
];
}
{ command = [ "sleep5; ${nix-config.packages.x86_64-linux.filen-desktop}/bin/filen-desktop" ]; } { command = [ "sleep5; ${nix-config.packages.x86_64-linux.filen-desktop}/bin/filen-desktop" ]; }
]; ];
workspaces = { workspaces = {
"main" = {}; "main" = { };
"scratchpad" = {}; "scratchpad" = { };
}; };
input = { input = {
keyboard.xkb = { keyboard.xkb = {
layout = "us"; layout = "us";
options = "compose:ralt"; options = "compose:ralt";
}; };
touchpad = { touchpad = {
natural-scroll = true; natural-scroll = true;
scroll-method = "two-finger"; scroll-method = "two-finger";
dwt = false; dwt = false;
@ -93,9 +112,9 @@ in {
always-center-single-column = true; always-center-single-column = true;
preset-column-widths = [ preset-column-widths = [
{ proportion = 0.33333; } { proportion = 0.33333; }
{ proportion = 0.5; } { proportion = 0.5; }
{ proportion = 0.66667; } { proportion = 0.66667; }
]; ];
preset-window-heights = [ preset-window-heights = [
@ -104,11 +123,14 @@ in {
{ proportion = 2. / 3.; } { proportion = 2. / 3.; }
]; ];
default-column-width = { proportion = 0.5; }; default-column-width = {
proportion = 0.5;
};
focus-ring = { focus-ring = {
enable = true; enable = true;
active.color = with pkgs.rice.colorPalette.normal.border; active.color =
with pkgs.rice.colorPalette.normal.border;
"rgba(${toString r} ${toString g} ${toString b} ${toString a})"; "rgba(${toString r} ${toString g} ${toString b} ${toString a})";
width = 2; width = 2;
}; };
@ -142,25 +164,25 @@ in {
{ {
matches = [ matches = [
{app-id="Calculator";} { app-id = "Calculator"; }
{app-id="Color Picker";} { app-id = "Color Picker"; }
{app-id="Volume Control";} { app-id = "Volume Control"; }
{app-id="processing-core-PApplet";} { app-id = "processing-core-PApplet"; }
]; ];
open-floating = true; open-floating = true;
} }
{ {
matches = [ matches = [
{app-id="Plexamp";} { app-id = "Plexamp"; }
{app-id="scratchpad";} { app-id = "scratchpad"; }
]; ];
open-on-workspace = "scratchpad"; open-on-workspace = "scratchpad";
open-floating = true; open-floating = true;
} }
{ {
matches = [{app-id="launcher";}]; matches = [ { app-id = "launcher"; } ];
open-floating = true; open-floating = true;
focus-ring = { focus-ring = {
enable = true; enable = true;
@ -174,17 +196,21 @@ in {
}; };
} }
{ # Open the Firefox picture-in-picture player as floating by default. {
# Open the Firefox picture-in-picture player as floating by default.
# This app-id regular expression will work for both: # This app-id regular expression will work for both:
# host Firefox (app-id is "firefox") # host Firefox (app-id is "firefox")
# Flatpak Firefox (app-id is "org.mozilla.firefox") # Flatpak Firefox (app-id is "org.mozilla.firefox")
matches = [ { app-id= "r#\"librewolf$\"# title=\"^Picture-in-Picture$\""; } ]; matches = [ { app-id = "r#\"librewolf$\"# title=\"^Picture-in-Picture$\""; } ];
open-floating = true; open-floating = true;
} }
{ matches = [ { app-id="Renoise"; } {
{ app-id="Bitwig"; } matches = [
{ app-id="labwc"; }]; { app-id = "Renoise"; }
{ app-id = "Bitwig"; }
{ app-id = "labwc"; }
];
open-maximized = true; open-maximized = true;
} }
]; ];
@ -194,176 +220,233 @@ in {
lid-open.action = spawn "niri msg output eDP-1 on && shikanectl reload"; lid-open.action = spawn "niri msg output eDP-1 on && shikanectl reload";
}; };
binds = with config.lib.niri.actions; let binds =
wez = spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process"; with config.lib.niri.actions;
wezlaunch = wez "--class" "launcher"; let
in { wez =
# shows a list of important hotkeys. spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start"
"Mod+Shift+Slash".action = show-hotkey-overlay; "--always-new-process";
wezlaunch = wez "--class" "launcher";
in
{
# shows a list of important hotkeys.
"Mod+Shift+Slash".action = show-hotkey-overlay;
"Mod+Space".action = wezlaunch "sway-launcher-desktop"; "Mod+Space" = {
"Print".action = wezlaunch "sway-launcher-desktop"; hotkey-overlay.title = "Launcher";
action = wezlaunch "sway-launcher-desktop";
};
"Mod+Ctrl+T".action = spawn "wezterm"; "Print" = {
"Mod+Ctrl+E".action = spawn "emacsclient" "-r" "-n"; hotkey-overlay.title = "Launcher (alternative key)";
"Mod+Ctrl+B".action = spawn "librewolf"; action = wezlaunch "sway-launcher-desktop";
"Mod+Ctrl+V".action = wezlaunch "clipse"; };
"Mod+Ctrl+F".action = wez "yazi";
"Mod+Ctrl+N".action = spawn "swaync-client" "-t";
"Mod+Shift+A".action = spawn "hyprlock"; "Mod+Ctrl+T" = {
hotkey-overlay.title = "Wezterm";
action = spawn "wezterm";
};
"Mod+Ctrl+E" = {
hotkey-overlay.title = "Emacs (client)";
action = spawn "emacsclient" "-r" "-n";
};
"Mod+Ctrl+B" = {
hotkey-overlay.title = "Librewolf Browser";
action = spawn "librewolf";
};
"Mod+Ctrl+V" = {
hotkey-overlay.title = "Clipboard History";
action = wezlaunch "clipse";
};
"Mod+Ctrl+F" = {
hotkey-overlay.title = "Yazi";
action = wez "yazi";
};
"Mod+Ctrl+N" = {
hotkey-overlay.title = "Notifications";
action = spawn "swaync-client" "-t";
};
"Mod+Ctrl+O" = {
hotkey-overlay.title = "Obsidian";
action = spawn "obsidian";
};
"Mod+Ctrl+S" = {
hotkey-overlay.title = "Signal";
action = spawn "signal";
};
"Mod+Ctrl+C" = {
hotkey-overlay.title = "Calendar";
action = spawn "gnome-calendar";
};
"XF86AudioPlay" = { allow-when-locked = true; action = spawn "playerctl" "play-pause"; }; "Mod+Shift+A" = {
"XF86AudioNext" = { allow-when-locked = true; action = spawn "playerctl" "next"; }; hotkey-overlay.title = "Lock Session";
"XF86AudioPrev" = { allow-when-locked = true; action = spawn "playerctl" "previous"; }; action = spawn "hyprlock";
};
"XF86AudioRaiseVolume" = { "XF86AudioPlay" = {
allow-when-locked = true; allow-when-locked = true;
action = spawn "swayosd-client" "--output-volume" "raise"; action = spawn "playerctl" "play-pause";
};
"XF86AudioNext" = {
allow-when-locked = true;
action = spawn "playerctl" "next";
};
"XF86AudioPrev" = {
allow-when-locked = true;
action = spawn "playerctl" "previous";
};
"XF86AudioRaiseVolume" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--output-volume" "raise";
};
"XF86AudioLowerVolume" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--output-volume" "lower";
};
"XF86AudioMute" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--output-volume" "mute-toggle";
};
"XF86AudioMicMute" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--input-volume" "mute-toggle";
};
"XF86MonBrightnessUp" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--brightness" "raise";
};
"XF86MonBrightnessDown" = {
allow-when-locked = true;
action = spawn "swayosd-client" "--brightness" "lower";
};
"Mod+Q".action = close-window;
"Mod+Left".action = focus-column-left;
"Mod+Down".action = focus-window-down;
"Mod+Up".action = focus-window-up;
"Mod+Right".action = focus-column-right;
"Mod+H".action = focus-column-left;
"Mod+J".action = focus-window-down;
"Mod+K".action = focus-window-up;
"Mod+L".action = focus-column-right;
"Mod+Ctrl+Left".action = move-column-left;
"Mod+Ctrl+Down".action = move-window-down;
"Mod+Ctrl+Up".action = move-window-up;
"Mod+Ctrl+Right".action = move-column-right;
"Mod+Ctrl+H".action = move-column-left;
"Mod+Ctrl+J".action = move-window-down;
"Mod+Ctrl+K".action = move-window-up;
"Mod+Ctrl+L".action = move-column-right;
"Mod+Home".action = focus-column-first;
"Mod+End".action = focus-column-last;
"Mod+Ctrl+Home".action = move-column-to-first;
"Mod+Ctrl+End".action = move-column-to-last;
"Mod+Shift+Left".action = focus-monitor-left;
"Mod+Shift+Down".action = focus-monitor-down;
"Mod+Shift+Up".action = focus-monitor-up;
"Mod+Shift+Right".action = focus-monitor-right;
"Mod+Shift+H".action = focus-monitor-left;
"Mod+Shift+J".action = focus-monitor-down;
"Mod+Shift+K".action = focus-monitor-up;
"Mod+Shift+L".action = focus-monitor-right;
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Mod+Page_Down".action = focus-workspace-down;
"Mod+Page_Up".action = focus-workspace-up;
"Mod+U".action = focus-workspace-down;
"Mod+I".action = focus-workspace-up;
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down;
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up;
"Mod+Ctrl+U".action = move-column-to-workspace-down;
"Mod+Ctrl+I".action = move-column-to-workspace-up;
"Mod+Shift+Page_Down".action = move-workspace-down;
"Mod+Shift+Page_Up".action = move-workspace-up;
"Mod+Shift+U".action = move-workspace-down;
"Mod+Shift+I".action = move-workspace-up;
"Mod+WheelScrollDown" = {
action = focus-workspace-down;
cooldown-ms = 150;
};
"Mod+WheelScrollUp" = {
action = focus-workspace-up;
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollDown" = {
action = move-column-to-workspace-down;
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollUp" = {
action = move-column-to-workspace-up;
cooldown-ms = 150;
};
"Mod+WheelScrollRight".action = focus-column-right;
"Mod+WheelScrollLeft".action = focus-column-left;
"Mod+Ctrl+WheelScrollRight".action = move-column-right;
"Mod+Ctrl+WheelScrollLeft".action = move-column-left;
"Mod+Shift+WheelScrollDown".action = focus-column-right;
"Mod+Shift+WheelScrollUp".action = focus-column-left;
"Mod+Ctrl+Shift+WheelScrollDown".action = move-column-right;
"Mod+Ctrl+Shift+WheelScrollUp".action = move-column-left;
"Mod+BracketLeft".action = consume-or-expel-window-left;
"Mod+BracketRight".action = consume-or-expel-window-right;
"Mod+Comma".action = consume-window-into-column;
"Mod+Period".action = expel-window-from-column;
"Mod+R".action = switch-preset-column-width;
"Mod+Shift+R".action = switch-preset-window-height;
"Mod+Ctrl+R".action = reset-window-height;
"Mod+F".action = maximize-column;
"Mod+Shift+F".action = fullscreen-window;
"Mod+C".action = center-column;
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
"Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
"Mod+Ctrl+X".action = toggle-window-floating;
"Mod+X".action = switch-focus-between-floating-and-tiling;
"Mod+S".action = focus-workspace "scratchpad";
"Mod+Print".action = screenshot;
"Mod+Ctrl+Print".action = screenshot-screen;
"Mod+Alt+Print".action = screenshot-window;
# The quit action will show a confirmation dialog to avoid accidental exits.
"Mod+Shift+E".action = quit;
# Powers off the monitors. To turn them back on, do any input like
# moving the mouse or pressing any other key.
"Mod+Shift+P".action = power-off-monitors;
"Mod+Shift+Alt+P" = {
hotkey-overlay.title = "Turn Laptop Display On";
action = spawn "niri msg output eDP-1 on";
};
}; };
"XF86AudioLowerVolume" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--output-volume" "lower";
};
"XF86AudioMute" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--output-volume" "mute-toggle";
};
"XF86AudioMicMute" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--input-volume" "mute-toggle";
};
"XF86MonBrightnessUp" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--brightness" "raise";
};
"XF86MonBrightnessDown" = {
allow-when-locked=true;
action = spawn "swayosd-client" "--brightness" "lower";
};
"Mod+Q".action = close-window;
"Mod+Left".action = focus-column-left;
"Mod+Down".action = focus-window-down;
"Mod+Up".action = focus-window-up;
"Mod+Right".action = focus-column-right;
"Mod+H".action = focus-column-left;
"Mod+J".action = focus-window-down;
"Mod+K".action = focus-window-up;
"Mod+L".action = focus-column-right;
"Mod+Ctrl+Left".action = move-column-left;
"Mod+Ctrl+Down".action = move-window-down;
"Mod+Ctrl+Up".action = move-window-up;
"Mod+Ctrl+Right".action = move-column-right;
"Mod+Ctrl+H".action = move-column-left;
"Mod+Ctrl+J".action = move-window-down;
"Mod+Ctrl+K".action = move-window-up;
"Mod+Ctrl+L".action = move-column-right;
"Mod+Home".action = focus-column-first;
"Mod+End".action = focus-column-last;
"Mod+Ctrl+Home".action = move-column-to-first;
"Mod+Ctrl+End".action = move-column-to-last;
"Mod+Shift+Left".action = focus-monitor-left;
"Mod+Shift+Down".action = focus-monitor-down;
"Mod+Shift+Up".action = focus-monitor-up;
"Mod+Shift+Right".action = focus-monitor-right;
"Mod+Shift+H".action = focus-monitor-left;
"Mod+Shift+J".action = focus-monitor-down;
"Mod+Shift+K".action = focus-monitor-up;
"Mod+Shift+L".action = focus-monitor-right;
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Mod+Page_Down".action = focus-workspace-down;
"Mod+Page_Up".action = focus-workspace-up;
"Mod+U".action = focus-workspace-down;
"Mod+I".action = focus-workspace-up;
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down;
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up;
"Mod+Ctrl+U".action = move-column-to-workspace-down;
"Mod+Ctrl+I".action = move-column-to-workspace-up;
"Mod+Shift+Page_Down".action = move-workspace-down;
"Mod+Shift+Page_Up".action = move-workspace-up;
"Mod+Shift+U".action = move-workspace-down;
"Mod+Shift+I".action = move-workspace-up;
"Mod+WheelScrollDown" = {
action = focus-workspace-down;
cooldown-ms = 150;
};
"Mod+WheelScrollUp" = {
action = focus-workspace-up;
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollDown" = {
action = move-column-to-workspace-down;
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollUp" = {
action = move-column-to-workspace-up;
cooldown-ms = 150;
};
"Mod+WheelScrollRight".action = focus-column-right;
"Mod+WheelScrollLeft".action = focus-column-left;
"Mod+Ctrl+WheelScrollRight".action = move-column-right;
"Mod+Ctrl+WheelScrollLeft".action = move-column-left;
"Mod+Shift+WheelScrollDown".action = focus-column-right;
"Mod+Shift+WheelScrollUp".action = focus-column-left;
"Mod+Ctrl+Shift+WheelScrollDown".action = move-column-right;
"Mod+Ctrl+Shift+WheelScrollUp".action = move-column-left;
"Mod+BracketLeft".action = consume-or-expel-window-left;
"Mod+BracketRight".action = consume-or-expel-window-right;
"Mod+Comma".action = consume-window-into-column;
"Mod+Period".action = expel-window-from-column;
"Mod+R".action = switch-preset-column-width;
"Mod+Shift+R".action = switch-preset-window-height;
"Mod+Ctrl+R".action = reset-window-height;
"Mod+F".action = maximize-column;
"Mod+Shift+F".action = fullscreen-window;
"Mod+C".action = center-column;
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
"Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
"Mod+Ctrl+X".action = toggle-window-floating;
"Mod+X".action = switch-focus-between-floating-and-tiling;
"Mod+S".action = focus-workspace "scratchpad";
"Mod+Print".action = screenshot;
"Mod+Ctrl+Print".action = screenshot-screen;
"Mod+Alt+Print".action = screenshot-window;
# The quit action will show a confirmation dialog to avoid accidental exits.
"Mod+Shift+E".action = quit;
# Powers off the monitors. To turn them back on, do any input like
# moving the mouse or pressing any other key.
"Mod+Shift+P".action = power-off-monitors;
"Mod+Shift+Alt+P".action = spawn "niri msg output eDP-1 on";
};
}; };
}; };
}; };

View file

@ -38,7 +38,7 @@ in {
"format" = ""; "format" = "";
"format-off" = ""; "format-off" = "";
"format-disabled" = "!"; "format-disabled" = "!";
"on-click" = "$HOME/.local/bin/wezlauncher bluetui"; "on-click" = "$HOME/.local/bin/wezapp bluetuith";
"tooltip-format" = "{status}"; "tooltip-format" = "{status}";
}; };