summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock24
-rw-r--r--hm/env/niri/binds.nix48
-rw-r--r--os/core/users.nix15
3 files changed, 45 insertions, 42 deletions
diff --git a/flake.lock b/flake.lock
index 5530000..3d836f7 100644
--- a/flake.lock
+++ b/flake.lock
@@ -237,11 +237,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
- "lastModified": 1769341564,
- "narHash": "sha256-GR5luiDUMEZgfp5sl2hBsnR3Sv69UFwLlyDUZ26jA20=",
+ "lastModified": 1769366931,
+ "narHash": "sha256-OMQ+aRJdx1x+u3JG/Zlj1YWeMPmJjKMyy6OMf3M7U78=",
"owner": "sodiboo",
"repo": "niri-flake",
- "rev": "23264c0565ec7a4b1bd0dfe5caa4944c2a00dfdd",
+ "rev": "419d7b73430a1f3de344a85bed50e770227f0b77",
"type": "github"
},
"original": {
@@ -270,11 +270,11 @@
"niri-unstable": {
"flake": false,
"locked": {
- "lastModified": 1769337195,
- "narHash": "sha256-pPKBlYD2QFCwLlCR+wJhwGDsDfeXXHMuf1dGCzG0plg=",
+ "lastModified": 1769363347,
+ "narHash": "sha256-fqaPwglujRdIXArV6a/0SG4otGPlvFGqFJo5EOAKnX0=",
"owner": "YaLTeR",
"repo": "niri",
- "rev": "e11abe554fb05242462b8b5b2b3cf64ea45f0fa5",
+ "rev": "5ddcf195dd6cb24cf67c24d4622ef0a4dca9ed12",
"type": "github"
},
"original": {
@@ -398,11 +398,11 @@
]
},
"locked": {
- "lastModified": 1769354239,
- "narHash": "sha256-MhbptUY7ancteazxhCR+cFZYbitaX5CR+F86XHoAJZM=",
+ "lastModified": 1769368461,
+ "narHash": "sha256-6J98zDiJE/Vb3hKHaMUdlMd7c2Wyo3/b76O1BAR3LLg=",
"owner": "nix-community",
"repo": "NUR",
- "rev": "1cd64d78f51a4f341ee33e718699e6b74437e8e0",
+ "rev": "5b138f51cc64a5133accf0a48ea92f128cbd66b8",
"type": "github"
},
"original": {
@@ -595,11 +595,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
- "lastModified": 1769279212,
- "narHash": "sha256-LAd6DYp6bbnQqtzMm62BE/0IMy67A4CgyYVi4xvyD6s=",
+ "lastModified": 1769356222,
+ "narHash": "sha256-Q0BVubV9ZnmLs506EhBSPglM+YJK56wsQNbeecvWPUo=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
- "rev": "3af3e3ab78d0eb96fb9b5161693811e050b90991",
+ "rev": "cf14278b92b0a91d01587f09b4b00ea655ae24e6",
"type": "github"
},
"original": {
diff --git a/hm/env/niri/binds.nix b/hm/env/niri/binds.nix
index 3c3c00e..9ede74e 100644
--- a/hm/env/niri/binds.nix
+++ b/hm/env/niri/binds.nix
@@ -16,43 +16,52 @@ in
};
"Mod+Slash".action = show-hotkey-overlay;
- # Audio
XF86AudioRaiseVolume.action = playerctl "volume" "0.03+";
XF86AudioLowerVolume.action = playerctl "volume" "0.03-";
- # microphone
- XF86AudioMute.action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
- # # headphones
- "Mod+XF86AudioMute".action = spawn "sh" "-c" ''
+ XF86AudioMute.action = spawn "sh" "-c" ''
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \
wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
'';
+ XF86Tools.action = spawn "sh" "-c" ''
+ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \
+ wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+ '';
+
+ "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;
+
+ "Super+WheelScrollDown".action = focus-workspace-down;
+ "Super+WheelScrollUp".action = focus-workspace-up;
+ "Super+Shift+WheelScrollDown".action = move-window-down-or-to-workspace-down;
+ "Super+Shift+WheelScrollUp".action = move-window-up-or-to-workspace-up;
+
+ XF86Launch5.action = consume-or-expel-window-right;
+ XF86Launch6.action = consume-or-expel-window-left;
+ XF86Launch7.action = switch-preset-column-width;
"Super+Shift+L".action = spawn "swaylock" "-f";
- # Media keys
XF86AudioPlay.action = playerctl "play-pause";
XF86AudioPrev.action = playerctl "previous";
XF86AudioNext.action = playerctl "next";
- # Column sizing
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
- # Finer height adjustments when in column with other windows.
"Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
- # Misc
"Mod+Shift+V".action = toggle-window-floating;
- "Mod+Shift+P".action = power-off-monitors;
"Mod+W".action = toggle-column-tabbed-display;
- "Mod+S" = {
+ "Mod+XF86Launch7" = {
action = spawn "sh" "-c" ''
grim -g "$(slurp)" - | tee ${ss}.png | wl-copy
'';
repeat = false;
};
- "Mod+Shift+S" = {
+ "Mod+Shift+XF86Launch7" = {
action = spawn "sh" "-c" ''
grim -g "$(slurp)" ${ss}.png
satty --filename "${ss}.png" --output-filename "${ss}-edited.png"
@@ -64,24 +73,12 @@ in
cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
'';
- # --- System / General ---
"Mod+Return".action = spawn "foot";
"Mod+D".action = spawn "fuzzel";
"Mod+C".action = spawn "qalculate-gtk";
"Mod+BracketLeft".action = consume-or-expel-window-left;
"Mod+BracketRight".action = consume-or-expel-window-right;
- # "XF86Tools" = {
- # action = spawn "sh" "-c" ''
- # pkill -9 firefox || true
- # swaylock -f
- # wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
- # wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 1
- # niri msg action power-off-monitors
- # '';
- # repeat = false;
- # };
-
"Mod+R".action = switch-preset-column-width;
"Mod+Shift+R".action = reset-window-height;
"Mod+F".action = maximize-column;
@@ -92,19 +89,16 @@ in
"Mod+Shift+E".action = quit;
- # --- Window Navigation (Focus) ---
"Mod+H".action = focus-column-left;
"Mod+L".action = focus-column-right;
"Mod+J".action = focus-workspace-down;
"Mod+K".action = focus-workspace-up;
- # --- Window Management (Move) ---
"Mod+Shift+H".action = move-column-left;
"Mod+Shift+L".action = move-column-right;
"Mod+Shift+J".action = move-window-down-or-to-workspace-down;
"Mod+Shift+K".action = move-window-up-or-to-workspace-up;
- # --- Window State ---
"Mod+Shift+Q".action = close-window;
"Super+Return".action = spawn "obs-cmd" "replay" "save";
diff --git a/os/core/users.nix b/os/core/users.nix
index 1bea894..74a8fc4 100644
--- a/os/core/users.nix
+++ b/os/core/users.nix
@@ -1,4 +1,10 @@
-{ config, lib, pkgs, username, ... }:
+{
+ config,
+ lib,
+ pkgs,
+ username,
+ ...
+}:
let
cfg = config.os.core.users;
in
@@ -12,9 +18,12 @@ in
extraGroups = lib.mkMerge [
[ "wheel" ]
- (lib.mkIf (config.os.core.drivers.amd.enable or false) [ "video" "render" ])
+ (lib.mkIf (config.os.core.drivers.amd.enable or false) [
+ "video"
+ "render"
+ ])
(lib.mkIf (config.os.core.network.enable or false) [ "networkmanager" ])
- (lib.mkIf (config.os.srv.kvm.enable or false) [ "libvirtd" ])
+ (lib.mkIf (config.os.srv.virtualization.enable or false) [ "libvirtd" ])
(lib.mkIf (config.os.srv.docker.enable or false) [ "docker" ])
(lib.mkIf (config.os.srv.autoclicker.enable or false) [ "input" ])
];