diff --git a/demilich/home.nix b/demilich/home.nix index f086ad8..ec747e2 100644 --- a/demilich/home.nix +++ b/demilich/home.nix @@ -431,332 +431,332 @@ }; }; }; - wayland = { - windowManager = { - niri = { - enable = true; - settings = { - layout = { - focus-ring = { - active-color = "#9bdf9e"; - inactive-color = "#7e997e"; - urgent-color = "#e04b7c"; - }; - border = { - active-color = "#9bdf9e"; - inactive-color = "#7e997e"; - urgent-color = "#e04b7c"; - }; - shadow = { - color = "#3f4c3f70"; - }; - tab-indicator = { - active-color = "#9bdf9e"; - inactive-color = "#7e997e"; - urgent-color = "#e04b7c"; - }; - insert-hint = { - color = "#3f4c3f80"; - }; - _props.gaps = 16; - _props.center-focused-column = "never"; - - _props.background-color = "transparent"; - - preset-column-widths = '' - proportion = 0.33333 - proportion = 0.5 - proportion = 0.66667 - ''; - - _props.struts = "{}"; - }; - recent-windows = { - highlight = { - _props.active-color = "#b1ccb1"; - _props.urgent-color = "#e8789d"; - }; - }; - animations = { - workspace-switch = { - "spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { }; - }; - window-open = { - duration-ms = 200; - curve = "ease-out-quad"; - }; - window-close = { - duration-ms = 200; - curve = "ease-out-cubic"; - }; - horizontal-view-movement = { - "spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { }; - }; - window-movement = { - "spring damping-ratio=1.0 stiffness=800 epsilon=0.0001" = { }; - }; - window-resize = { - "spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { }; - }; - config-notification-open-close = { - "spring damping-ratio=0.6 stiffness=1200 epsilon=0.001" = { }; - }; - screenshot-ui-open = { - duration-ms = 300; - curve = "ease-out-quad"; - }; - overview-open-close = { - "spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { }; - }; - }; - input = { - keyboard = { - xkb = { - #layout = "us"; - }; - }; - touchpad = { - tap = { }; - natural-scroll = { }; - }; - mouse = { - accel-profile = "flat"; - accel-speed = 0.0; - }; - focus-follows-mouse = { }; - workspace-auto-back-and-forth = { }; - }; - binds = { - "Mod+Shift+ESCAPE".show-hotkey-overlay = { }; - - "Mod+Return" = { - _props.hotkey-overlay-title = "Open Terminal: Ghostty"; - spawn = [ "ghostty" ]; - }; - "Mod+B" = { - _props.hotkey-overlay-title = "Open Browser: firefox"; - spawn = [ "firefox" ]; - }; - "Mod+ALT+L" = { - _props.hotkey-overlay-title = "Lock Screen: noctalia lock"; - spawn-sh = [ "qs -c noctalia-shell ipc call lockScreen lock" ]; - }; - "Mod+Shift+Q" = { - _props.hotkey-overlay-title = "Session Menu: noctalia sessionMenu"; - spawn-sh = [ "qs -c noctalia-shell ipc call sessionMenu toggle" ]; - }; - - "Mod+E" = { - _props.hotkey-overlay-title = "File Manager: Nautilus"; - spawn = [ "nautilus" ]; - }; - - "XF86AudioRaiseVolume" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call volume increase" ]; - }; - "XF86AudioLowerVolume" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call volume decrease" ]; - }; - "XF86AudioMute" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call volume muteOutput" ]; - }; - "XF86AudioMicMute" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call volume muteInput" ]; - }; - "XF86AudioNext" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call media next" ]; - }; - "XF86AudioPrev" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call media previous" ]; - }; - "XF86AudioPlay" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ]; - }; - "XF86AudioPause" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ]; - }; - - "XF86MonBrightnessUp" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call brightness increase" ]; - }; - "XF86MonBrightnessDown" = { - _props.allow-when-locked = true; - spawn-sh = [ "qs -c noctalia-shell ipc call brightness decrease" ]; - }; - - "Mod+Q".close-window = { }; - - "Mod+Left".focus-column-left = { }; - "Mod+H".focus-column-left = { }; - "Mod+Right".focus-column-right = { }; - "Mod+L".focus-column-right = { }; - "Mod+Up".focus-window-up = { }; - "Mod+K".focus-window-up = { }; - "Mod+Down".focus-window-down = { }; - "Mod+J".focus-window-down = { }; - - "Mod+CTRL+Left".move-column-left = { }; - "Mod+CTRL+H".move-column-left = { }; - "Mod+CTRL+Right".move-column-right = { }; - "Mod+CTRL+L".move-column-right = { }; - "Mod+CTRL+UP".move-window-up = { }; - "Mod+CTRL+K".move-window-up = { }; - "Mod+CTRL+Down".move-window-down = { }; - "Mod+CTRL+J".move-window-down = { }; - - "Mod+Home".focus-column-first = { }; - "Mod+End".focus-column-last = { }; - "Mod+CTRL+Home".move-column-to-first = { }; - "Mod+CTRL+End".move-column-to-last = { }; - - "Mod+Shift+Left".focus-monitor-left = { }; - "Mod+Shift+Right".focus-monitor-right = { }; - "Mod+Shift+UP".focus-monitor-up = { }; - "Mod+Shift+Down".focus-monitor-down = { }; - - "Mod+Shift+CTRL+Left".move-column-to-monitor-left = { }; - "Mod+Shift+CTRL+Right".move-column-to-monitor-right = { }; - "Mod+Shift+CTRL+UP".move-column-to-monitor-up = { }; - "Mod+Shift+CTRL+Down".move-column-to-monitor-down = { }; - - "Mod+Next" = { - _props.cooldown-ms = 150; - _props.focus-workspace-down = { }; - }; - "Mod+Prior" = { - _props.cooldown-ms = 150; - _props.focus-workspace-up = { }; - }; - "Mod+CTRL+Next" = { - _props.cooldown-ms = 150; - _props.move-column-to-workspace-down = { }; - }; - "Mod+CTRL+Prior" = { - _props.cooldown-ms = 150; - _props.move-column-to-workspace-up = { }; - }; - - "Mod+WheelScrollRight".focus-column-right = { }; - "Mod+WheelScrollLeft".focus-column-left = { }; - "Mod+CTRL+WheelScrollRight".move-column-right = { }; - "Mod+CTRL+WheelScrollLeft".move-column-left = { }; - - "Mod+Shift+WheelScrollDown".focus-column-right = { }; - "Mod+Shift+WheelScrollUp".focus-column-left = { }; - "Mod+CTRL+Shift+WheelScrollDown".move-column-right = { }; - "Mod+CTRL+Shift+WheelScrollUp".move-column-left = { }; - - "Mod+1".focus-workspace = 1; - "Mod+2".focus-workspace = 2; - "Mod+3".focus-workspace = 3; - "Mod+4".focus-workspace = 4; - "Mod+5".focus-workspace = 5; - "Mod+6".focus-workspace = 6; - "Mod+7".focus-workspace = 7; - "Mod+8".focus-workspace = 8; - "Mod+9".focus-workspace = 9; - - "Mod+CTRL+1".move-column-to-workspace = 1; - "Mod+CTRL+2".move-column-to-workspace = 2; - "Mod+CTRL+3".move-column-to-workspace = 3; - "Mod+CTRL+4".move-column-to-workspace = 4; - "Mod+CTRL+5".move-column-to-workspace = 5; - "Mod+CTRL+6".move-column-to-workspace = 6; - "Mod+CTRL+7".move-column-to-workspace = 7; - "Mod+CTRL+8".move-column-to-workspace = 8; - "Mod+CTRL+9".move-column-to-workspace = 9; - - "Mod+TAB".focus-workspace-previous = { }; - - "Mod+CTRL+F".expand-column-to-available-width = { }; - "Mod+C".center-column = { }; - "Mod+CTRL+C".center-visible-columns = { }; - "Mod+Minus".set-column-width = "-10%"; - "Mod+Equal".set-column-width = "+10%"; - "Mod+Shift+Minus".set-window-height = "-10%"; - "Mod+Shift+Equal".set-window-height = "+10%"; - - "Mod+T".toggle-window-floating = { }; - "Mod+F".fullscreen-window = { }; - "Mod+W".toggle-column-tabbed-display = { }; - - "CTRL+Shift+1".screenshot = { }; - "CTRL+Shift+2".screenshot-screen = { }; - "CTRL+Shift+3".screenshot-window = { }; - - "Mod+ESCAPE" = { - allow-inhibiting = false; - toggle-keyboard-shortcuts-inhibit = { }; - }; - - "CTRL+ALT+Delete".quit = { }; - "Mod+Shift+P".power-off-monitors = { }; - "Mod+O" = { - repeat = false; - toggle-overview = { }; - }; - }; - - _props.prefer-no-csd = { }; - screenshot-path = "null"; - - environment = { - ELECTRON_OZONE_PLATFORM_HINT = "auto"; - QT_QPA_PLATFORM = "wayland"; - QT_QPA_PLATFORMTHEME = "gtk3"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - XDG_CURRENT_DESKTOP = "niri"; - XDG_SESSION_TYPE = "wayland"; - }; - - cursor = { - xcursor-theme = "capitaine-cursors"; - xcursor-size = 24; - }; - - debug = { - _props.honor-xdg-activation-with-invalid-serial = { }; - }; - - hotkey-overlay = { - _props.skip-at-startup = { }; - }; - - window-rule = { - _props.geometry-corner-radius = 20; - clip-to-geometry = true; - }; - - window-rule = { - match = "app-id=\"steam\""; - exclude = "title=r#\"^[Ss]team$\"#"; - open-floating = true; - }; - - window-rule = { - match = "app-id=\"steam\" title=r#\"^notificationtoasts_\d+_desktop$\"#"; - default-floating-position = "x=10 y=10 relative-to=\"bottom-right\""; - open-focused = false; - }; - - layer-rule = { - match = "namespace=\"^noctalia-wallpaper*\""; - place-within-backdrop = true; - }; - }; - systemd = { - enable = true; - }; - }; - }; - }; + # wayland = { + # windowManager = { + # niri = { + # enable = true; + # settings = { + # layout = { + # focus-ring = { + # active-color = "#9bdf9e"; + # inactive-color = "#7e997e"; + # urgent-color = "#e04b7c"; + # }; + # border = { + # active-color = "#9bdf9e"; + # inactive-color = "#7e997e"; + # urgent-color = "#e04b7c"; + # }; + # shadow = { + # color = "#3f4c3f70"; + # }; + # tab-indicator = { + # active-color = "#9bdf9e"; + # inactive-color = "#7e997e"; + # urgent-color = "#e04b7c"; + # }; + # insert-hint = { + # color = "#3f4c3f80"; + # }; + # _props.gaps = 16; + # _props.center-focused-column = "never"; + # + # _props.background-color = "transparent"; + # + # preset-column-widths = '' + # proportion = 0.33333 + # proportion = 0.5 + # proportion = 0.66667 + # ''; + # + # _props.struts = "{}"; + # }; + # recent-windows = { + # highlight = { + # _props.active-color = "#b1ccb1"; + # _props.urgent-color = "#e8789d"; + # }; + # }; + # animations = { + # workspace-switch = { + # "spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { }; + # }; + # window-open = { + # duration-ms = 200; + # curve = "ease-out-quad"; + # }; + # window-close = { + # duration-ms = 200; + # curve = "ease-out-cubic"; + # }; + # horizontal-view-movement = { + # "spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { }; + # }; + # window-movement = { + # "spring damping-ratio=1.0 stiffness=800 epsilon=0.0001" = { }; + # }; + # window-resize = { + # "spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001" = { }; + # }; + # config-notification-open-close = { + # "spring damping-ratio=0.6 stiffness=1200 epsilon=0.001" = { }; + # }; + # screenshot-ui-open = { + # duration-ms = 300; + # curve = "ease-out-quad"; + # }; + # overview-open-close = { + # "spring damping-ratio=1.0 stiffness=900 epsilon=0.0001" = { }; + # }; + # }; + # input = { + # keyboard = { + # xkb = { + # #layout = "us"; + # }; + # }; + # touchpad = { + # tap = { }; + # natural-scroll = { }; + # }; + # mouse = { + # accel-profile = "flat"; + # accel-speed = 0.0; + # }; + # focus-follows-mouse = { }; + # workspace-auto-back-and-forth = { }; + # }; + # binds = { + # "Mod+Shift+ESCAPE".show-hotkey-overlay = { }; + # + # "Mod+Return" = { + # _props.hotkey-overlay-title = "Open Terminal: Ghostty"; + # spawn = [ "ghostty" ]; + # }; + # "Mod+B" = { + # _props.hotkey-overlay-title = "Open Browser: firefox"; + # spawn = [ "firefox" ]; + # }; + # "Mod+ALT+L" = { + # _props.hotkey-overlay-title = "Lock Screen: noctalia lock"; + # spawn-sh = [ "qs -c noctalia-shell ipc call lockScreen lock" ]; + # }; + # "Mod+Shift+Q" = { + # _props.hotkey-overlay-title = "Session Menu: noctalia sessionMenu"; + # spawn-sh = [ "qs -c noctalia-shell ipc call sessionMenu toggle" ]; + # }; + # + # "Mod+E" = { + # _props.hotkey-overlay-title = "File Manager: Nautilus"; + # spawn = [ "nautilus" ]; + # }; + # + # "XF86AudioRaiseVolume" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call volume increase" ]; + # }; + # "XF86AudioLowerVolume" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call volume decrease" ]; + # }; + # "XF86AudioMute" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call volume muteOutput" ]; + # }; + # "XF86AudioMicMute" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call volume muteInput" ]; + # }; + # "XF86AudioNext" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call media next" ]; + # }; + # "XF86AudioPrev" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call media previous" ]; + # }; + # "XF86AudioPlay" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ]; + # }; + # "XF86AudioPause" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call media playPause" ]; + # }; + # + # "XF86MonBrightnessUp" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call brightness increase" ]; + # }; + # "XF86MonBrightnessDown" = { + # _props.allow-when-locked = true; + # spawn-sh = [ "qs -c noctalia-shell ipc call brightness decrease" ]; + # }; + # + # "Mod+Q".close-window = { }; + # + # "Mod+Left".focus-column-left = { }; + # "Mod+H".focus-column-left = { }; + # "Mod+Right".focus-column-right = { }; + # "Mod+L".focus-column-right = { }; + # "Mod+Up".focus-window-up = { }; + # "Mod+K".focus-window-up = { }; + # "Mod+Down".focus-window-down = { }; + # "Mod+J".focus-window-down = { }; + # + # "Mod+CTRL+Left".move-column-left = { }; + # "Mod+CTRL+H".move-column-left = { }; + # "Mod+CTRL+Right".move-column-right = { }; + # "Mod+CTRL+L".move-column-right = { }; + # "Mod+CTRL+UP".move-window-up = { }; + # "Mod+CTRL+K".move-window-up = { }; + # "Mod+CTRL+Down".move-window-down = { }; + # "Mod+CTRL+J".move-window-down = { }; + # + # "Mod+Home".focus-column-first = { }; + # "Mod+End".focus-column-last = { }; + # "Mod+CTRL+Home".move-column-to-first = { }; + # "Mod+CTRL+End".move-column-to-last = { }; + # + # "Mod+Shift+Left".focus-monitor-left = { }; + # "Mod+Shift+Right".focus-monitor-right = { }; + # "Mod+Shift+UP".focus-monitor-up = { }; + # "Mod+Shift+Down".focus-monitor-down = { }; + # + # "Mod+Shift+CTRL+Left".move-column-to-monitor-left = { }; + # "Mod+Shift+CTRL+Right".move-column-to-monitor-right = { }; + # "Mod+Shift+CTRL+UP".move-column-to-monitor-up = { }; + # "Mod+Shift+CTRL+Down".move-column-to-monitor-down = { }; + # + # "Mod+Next" = { + # _props.cooldown-ms = 150; + # _props.focus-workspace-down = { }; + # }; + # "Mod+Prior" = { + # _props.cooldown-ms = 150; + # _props.focus-workspace-up = { }; + # }; + # "Mod+CTRL+Next" = { + # _props.cooldown-ms = 150; + # _props.move-column-to-workspace-down = { }; + # }; + # "Mod+CTRL+Prior" = { + # _props.cooldown-ms = 150; + # _props.move-column-to-workspace-up = { }; + # }; + # + # "Mod+WheelScrollRight".focus-column-right = { }; + # "Mod+WheelScrollLeft".focus-column-left = { }; + # "Mod+CTRL+WheelScrollRight".move-column-right = { }; + # "Mod+CTRL+WheelScrollLeft".move-column-left = { }; + # + # "Mod+Shift+WheelScrollDown".focus-column-right = { }; + # "Mod+Shift+WheelScrollUp".focus-column-left = { }; + # "Mod+CTRL+Shift+WheelScrollDown".move-column-right = { }; + # "Mod+CTRL+Shift+WheelScrollUp".move-column-left = { }; + # + # "Mod+1".focus-workspace = 1; + # "Mod+2".focus-workspace = 2; + # "Mod+3".focus-workspace = 3; + # "Mod+4".focus-workspace = 4; + # "Mod+5".focus-workspace = 5; + # "Mod+6".focus-workspace = 6; + # "Mod+7".focus-workspace = 7; + # "Mod+8".focus-workspace = 8; + # "Mod+9".focus-workspace = 9; + # + # "Mod+CTRL+1".move-column-to-workspace = 1; + # "Mod+CTRL+2".move-column-to-workspace = 2; + # "Mod+CTRL+3".move-column-to-workspace = 3; + # "Mod+CTRL+4".move-column-to-workspace = 4; + # "Mod+CTRL+5".move-column-to-workspace = 5; + # "Mod+CTRL+6".move-column-to-workspace = 6; + # "Mod+CTRL+7".move-column-to-workspace = 7; + # "Mod+CTRL+8".move-column-to-workspace = 8; + # "Mod+CTRL+9".move-column-to-workspace = 9; + # + # "Mod+TAB".focus-workspace-previous = { }; + # + # "Mod+CTRL+F".expand-column-to-available-width = { }; + # "Mod+C".center-column = { }; + # "Mod+CTRL+C".center-visible-columns = { }; + # "Mod+Minus".set-column-width = "-10%"; + # "Mod+Equal".set-column-width = "+10%"; + # "Mod+Shift+Minus".set-window-height = "-10%"; + # "Mod+Shift+Equal".set-window-height = "+10%"; + # + # "Mod+T".toggle-window-floating = { }; + # "Mod+F".fullscreen-window = { }; + # "Mod+W".toggle-column-tabbed-display = { }; + # + # "CTRL+Shift+1".screenshot = { }; + # "CTRL+Shift+2".screenshot-screen = { }; + # "CTRL+Shift+3".screenshot-window = { }; + # + # "Mod+ESCAPE" = { + # allow-inhibiting = false; + # toggle-keyboard-shortcuts-inhibit = { }; + # }; + # + # "CTRL+ALT+Delete".quit = { }; + # "Mod+Shift+P".power-off-monitors = { }; + # "Mod+O" = { + # repeat = false; + # toggle-overview = { }; + # }; + # }; + # + # _props.prefer-no-csd = { }; + # screenshot-path = "null"; + # + # environment = { + # ELECTRON_OZONE_PLATFORM_HINT = "auto"; + # QT_QPA_PLATFORM = "wayland"; + # QT_QPA_PLATFORMTHEME = "gtk3"; + # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + # XDG_CURRENT_DESKTOP = "niri"; + # XDG_SESSION_TYPE = "wayland"; + # }; + # + # cursor = { + # xcursor-theme = "capitaine-cursors"; + # xcursor-size = 24; + # }; + # + # debug = { + # _props.honor-xdg-activation-with-invalid-serial = { }; + # }; + # + # hotkey-overlay = { + # _props.skip-at-startup = { }; + # }; + # + # window-rule = { + # _props.geometry-corner-radius = 20; + # clip-to-geometry = true; + # }; + # + # window-rule = { + # match = "app-id=\"steam\""; + # exclude = "title=r#\"^[Ss]team$\"#"; + # open-floating = true; + # }; + # + # window-rule = { + # match = "app-id=\"steam\" title=r#\"^notificationtoasts_\d+_desktop$\"#"; + # default-floating-position = "x=10 y=10 relative-to=\"bottom-right\""; + # open-focused = false; + # }; + # + # layer-rule = { + # match = "namespace=\"^noctalia-wallpaper*\""; + # place-within-backdrop = true; + # }; + # }; + # systemd = { + # enable = true; + # }; + # }; + # }; + # }; }