{ modules, inputs, lib, den, ... }: { flake-file.inputs = { niri-flake = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; }; modules.niri = { nixos = { pkgs, ... }: { imports = [ inputs.niri-flake.nixosModules.niri ]; programs.niri.enable = true; programs.niri.package = pkgs.niri-unstable; nixpkgs.overlays = [ inputs.niri-flake.overlays.niri ]; }; homeManager = { pkgs, ... }: { # The nixos module already imports the hm module # imports = [ inputs.niri-flake.homeModules.niri ]; gtk.enable = lib.mkForce false; programs = { niri = { # enable = true; # package = pkgs.niri-unstable; settings = { input = { keyboard = { xkb = { layout = "gb"; }; numlock = true; }; }; cursor = { size = 16; }; outputs = { DP-3 = { # Philips Consumer Electronics Company PHL 272E1GZ UK02101011104 mode = { width = 1920; height = 1080; refresh = 144.0; }; focus-at-startup = true; variable-refresh-rate = false; }; HDMI-A-1 = { position = { x = -1920; y = 0; }; scale = 1; }; }; binds = { # Navigation "Mod+Shift+WheelScrollDown" = { hotkey-overlay.title = "Workspace Down"; cooldown-ms = 150; action.focus-workspace-down = [ ]; }; "Mod+Shift+WheelScrollUp" = { hotkey-overlay.title = "Workspace Up"; cooldown-ms = 150; action.focus-workspace-up = [ ]; }; "Mod+WheelScrollUp" = { hotkey-overlay.title = "Workspace Left"; action.focus-column-right = [ ]; }; "Mod+WheelScrollDown" = { hotkey-overlay.title = "Workspace Right"; action.focus-column-left = [ ]; }; "Super+Tab" = { hotkey-overlay.title = "Overview"; action.toggle-overview = [ ]; }; # -- # Utility "Super+S" = { action.screenshot = [ ]; }; "Super+C" = { action.close-window = [ ]; }; "Super+L" = { action.spawn = "wlogout"; }; # Program Spawning "Mod+E".action.spawn = "helium"; "Mod+R".action.spawn = let config = pkgs.writeTextFile { name = "config"; text = '' width = 100% height = 100% border-width = 0 outline-width = 0 padding-left = 35% padding-top = 35% result-spacing = 25 num-results = 5 font = monospace background-color = #000A ''; }; script = pkgs.writeShellScript "mreow" '' exec $(tofi-drun -c ${config}) ''; in "${script}"; "Mod+Q".action.spawn = "kitty"; # -- }; window-rules = [ { matches = [ ]; geometry-corner-radius = { bottom-left = 3.0; bottom-right = 3.0; top-left = 3.0; top-right = 3.0; }; clip-to-geometry = true; draw-border-with-background = false; focus-ring.width = 2; } ]; xwayland-satellite = { enable = true; path = lib.getExe pkgs.xwayland-satellite; }; }; }; }; }; }; }