diff options
| author | adikro <adikro@disroot.org> | 2025-12-20 03:14:45 +0100 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2025-12-20 03:14:45 +0100 |
| commit | 791bc419b6dac7c70951981ef6b34cdf85828470 (patch) | |
| tree | 56d0962fdf829ae942feb1344763e54dbc3c89a3 /hm/env/niri/niri.nix | |
| parent | e60410393cea222b16743a1a87f29c06b9b3543b (diff) | |
absolutely massive rewrite, made (almost) everything modular with changes to come
Diffstat (limited to 'hm/env/niri/niri.nix')
| -rw-r--r-- | hm/env/niri/niri.nix | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/hm/env/niri/niri.nix b/hm/env/niri/niri.nix new file mode 100644 index 0000000..fddfcac --- /dev/null +++ b/hm/env/niri/niri.nix @@ -0,0 +1,94 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.szpont.hm.env.niri; +in +{ + options.szpont.hm.env.niri.enable = lib.mkEnableOption "niri hm"; + config = lib.mkIf cfg.enable { + + szpont.hm.soft = { + awww.enable = true; + fuzzel.enable = true; + satty.enable = true; + swayidle.enable = true; + swaylock.enable = true; + }; + + programs.niri.settings = { + binds = import ./binds.nix { inherit config lib pkgs; }; + + prefer-no-csd = true; + hotkey-overlay.skip-at-startup = true; + input = { + mouse = { + accel-profile = "flat"; + accel-speed = -0.6; + middle-emulation = true; + scroll-factor = 1.5; + }; + focus-follows-mouse = { + enable = true; + max-scroll-amount = "10%"; + }; + mod-key = "Alt"; + keyboard = { + xkb.layout = "pl"; + repeat-delay = 400; + repeat-rate = 60; + }; + power-key-handling.enable = false; + }; + outputs = { + "DP-1" = { + focus-at-startup = true; + # backdrop-color = ""; + variable-refresh-rate = "on-demand"; + mode = { + width = 2560; + height = 1440; + refresh = 239.998; + }; + }; + }; + cursor = { + hide-when-typing = true; + size = 8; + # theme = ""; + }; + layout = { + border = { + width = 2; + # active = <decoration>; + }; + focus-ring = { + width = 2; + # active = <decoration>; + }; + preset-column-widths = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + ]; + preset-window-heights = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + ]; + default-column-width.proportion = 0.5; + tab-indicator = { + gaps-between-tabs = 3; + position = "top"; + }; + }; + spawn-at-startup = [ + { command = [ "${lib.getExe pkgs.xwayland-satellite}" ]; } + { command = [ "awww-daemon" ]; } + ]; + }; + home.packages = with pkgs; [ + qalculate-gtk + grim + slurp + ]; + }; +} |
