summaryrefslogtreecommitdiff
path: root/modules/home/niri/chernobyl/niri.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home/niri/chernobyl/niri.nix')
-rw-r--r--modules/home/niri/chernobyl/niri.nix126
1 files changed, 126 insertions, 0 deletions
diff --git a/modules/home/niri/chernobyl/niri.nix b/modules/home/niri/chernobyl/niri.nix
new file mode 100644
index 0000000..b4d129f
--- /dev/null
+++ b/modules/home/niri/chernobyl/niri.nix
@@ -0,0 +1,126 @@
+{ pkgs, ... }:
+
+{
+ wayland.windowManager.niri = {
+ enable = true;
+ settings = {
+ input = {
+ keyboard = {
+ xkb = {
+ layout = "cz";
+ options = "eurosign:e,caps:escape";
+ };
+ };
+ mouse = {
+ accel-profile = "adaptive";
+ accel-speed = 0.0;
+ };
+ touchpad = {
+ tap = true;
+ dwt = true;
+ natural-scroll = false;
+ };
+ };
+
+ outputs = [
+ {
+ name = "eDP-1";
+ scale = 1.5;
+ variable-refresh-rate = true;
+ }
+ ];
+
+ layout = {
+ gaps = 5;
+ };
+
+ spawn-at-startup = [
+ { command = [ "dunst" ]; }
+ { command = [ "nm-applet" ]; }
+ { command = [ "blueman-applet" ]; }
+ { command = [ "waybar" ]; }
+ ];
+
+ binds = {
+ "Super+T" = ''spawn "kitty"'';
+ "Super+N" = ''spawn "firefox"'';
+ "Super+M" = ''spawn "rofi" "-show" "drun"'';
+ "Super+Shift+M" = ''spawn "kitty" "nnn"'';
+ "Super+Shift+S" = ''spawn "flameshot" "gui"'';
+ "Super+Ctrl+L" = ''spawn "hyprlock"'';
+
+ # Focus
+ "Super+H" = "focus-column-left";
+ "Super+J" = "focus-window-down";
+ "Super+K" = "focus-window-up";
+ "Super+L" = "focus-column-right";
+
+ # Move windows
+ "Super+Shift+H" = "move-column-left";
+ "Super+Shift+J" = "move-window-down";
+ "Super+Shift+K" = "move-window-up";
+ "Super+Shift+L" = "move-column-right";
+
+ # Workspaces
+ "Super+1" = "workspace 1";
+ "Super+2" = "workspace 2";
+ "Super+3" = "workspace 3";
+ "Super+4" = "workspace 4";
+ "Super+5" = "workspace 5";
+ "Super+6" = "workspace 6";
+ "Super+7" = "workspace 7";
+ "Super+8" = "workspace 8";
+ "Super+9" = "workspace 9";
+ "Super+0" = "workspace 10";
+
+ "Super+Shift+1" = "move-workspace 1";
+ "Super+Shift+2" = "move-workspace 2";
+ "Super+Shift+3" = "move-workspace 3";
+ "Super+Shift+4" = "move-workspace 4";
+ "Super+Shift+5" = "move-workspace 5";
+ "Super+Shift+6" = "move-workspace 6";
+ "Super+Shift+7" = "move-workspace 7";
+ "Super+Shift+8" = "move-workspace 8";
+ "Super+Shift+9" = "move-workspace 9";
+ "Super+Shift+0" = "move-workspace 10";
+
+ # Window management
+ "Super+Shift+Q" = "close-window";
+ "Super+F" = "maximize-column";
+ "Super+Shift+Space" = "toggle-window-floating";
+ "Super+E" = "toggle-split";
+
+ # Media keys
+ "XF86MonBrightnessUp" = ''spawn "brightnessctl" "set" "+10%"'';
+ "XF86MonBrightnessDown" = ''spawn "brightnessctl" "set" "10%-"'';
+ "XF86AudioRaiseVolume" = ''spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%+"'';
+ "XF86AudioLowerVolume" = ''spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%-"'';
+ "XF86AudioMute" = ''spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"'';
+ "XF86AudioMicMute" = ''spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"'';
+
+ # System
+ "Super+Shift+C" = "reload-config";
+ };
+
+ window-rules = [
+ {
+ geometry-corner-radius = { top-left = 15; top-right = 15; bottom-left = 15; bottom-right = 15; };
+ clip-to-geometry = true;
+ }
+ ];
+
+ animations = {
+ workspace-switch = {
+ duration-ms = 200;
+ curve = "ease-out-cubic";
+ };
+ };
+
+ prefer-no-csd = true;
+ };
+ };
+
+ home.packages = with pkgs; [
+ hyprlock
+ ];
+}