{ lib, config, pkgs, ... }: let SCRIPTS = "$XDG_CONFIG_HOME/desktop-utils/scripts"; in lib.mkIf config.desktop.enable { programs.niri.enable = true; home-manager.users.willifan = { home.packages = [ pkgs.xwayland-satellite ]; programs.niri.settings = { outputs."eDP-1".scale = 1.6; spawn-at-startup = [ { command = [ "xwayland-satellite" ":0" ]; } ]; hotkey-overlay.skip-at-startup = true; prefer-no-csd = true; environment = { DISPLAY = ":0"; }; input = { keyboard.xkb = { layout = "eu"; }; }; window-rules = [ { geometry-corner-radius = { top-right = 12.0; top-left = 12.0; bottom-right = 12.0; bottom-left = 12.0; }; clip-to-geometry = true; open-maximized = true; } ]; binds = { "Mod+H".action.focus-column-or-monitor-left = { }; "Mod+J".action.focus-window-or-monitor-down = { }; "Mod+K".action.focus-window-or-monitor-up = { }; "Mod+L".action.focus-column-or-monitor-right = { }; "Mod+Q".action.spawn = [ "kitty" ]; "Mod+C".action.close-window = { }; "Mod+M".action.quit = { }; "Mod+E".action.spawn = [ "thunar" ]; "Mod+R".action.spawn = [ "fuzzel" ]; "Mod+P".action.spawn = [ "Enpass" ]; "Mod+F".action.fullscreen-window = { }; "XF86AudioMute".action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" ]; "XF86AudioLowerVolume".action.spawn = [ "sh" "-c" "${SCRIPTS}/volume.sh -5" ]; "XF86AudioRaiseVolume".action.spawn = [ "sh" "-c" "${SCRIPTS}/volume.sh 5" ]; "XF86AudioPrev".action.spawn = [ "playerctl" "previous" ]; "XF86AudioPlay".action.spawn = [ "playerctl" "play-pause" ]; "XF86AudioNext".action.spawn = [ "playerctl" "next" ]; "XF86MonBrightnessDown".action.spawn = [ "sh" "-c" "${SCRIPTS}/brightness.sh -4800" ]; "XF86MonBrightnessUp".action.spawn = [ "sh" "-c" "${SCRIPTS}/brightness.sh 4800" ]; "Print".action.screenshot = { }; }; }; }; }