4.9 KiB
4.9 KiB
Installation
Arch Linux
sudo pacman -S niri
To have a better experience install all of the following packages
sudo pacman -S fuzzel mako xdg-desktop-portal-gtk xdg-desktop-portal-gnome swaybg swayidle swaylock xwayland-satellite udiskie hyprlock waybar
Default Replacements
Open terminal change from mod+T to mod+Return
Mod+T hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
# Changed to
Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; }
Open application launcher change from fuzzel to rofi-wayland
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
# Changed to
Mod+D hotkey-overlay-title="Run an Application: rofi" { spawn "~/Scripts/toggle-rofi.sh"; }
Setting Changed From Default Values
Input (Desktops)
mouse {
// off
// natural-scroll
// accel-speed 0.2
accel-profile "flat"
// scroll-method "no-scroll"
}
Set accel-profile "flat"
accel-speed can be changed as desired, each mouse value will vary
Input (Laptops)
touchpad {
// off
tap
// dwt
// dwtp
// drag false
// drag-lock
natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// scroll-method "two-finger"
// disabled-on-external-mouse
}
mouse {
// off
// natural-scroll
// accel-speed 0.2
accel-profile "flat"
// scroll-method "no-scroll"
}
Set accel-profile "flat" for mouse and touchpad
accel-speed can be changed as desired, each mouse value will vary
Binds
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+Shift+Return { spawn "foot" "--app-id" "float"; }
Mod+Ctrl+Return { spawn "kitty" "--class=floating-kitty"; }
Mod+Shift+A hotkey-overlay-title="Open btop" { spawn "kitty" "btop"; }
Mod+Shift+N hotkey-overlay-title="Open Obsidian" { spawn "obsidian"; }
Window Rules
window-rule {
match app-id="float"
open-floating true
}
Layout
layout {
// Set gaps around windows in logical pixels.
gaps 10
Change gaps 16 to gaps 10
Focus-ring
focus-ring {
// Uncomment this line to disable the focus ring.
// off
// How many logical pixels the ring extends out from the windows.
width 2
// Colors can be set in a variety of ways:
// - CSS named colors: "red"
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
// Color of the ring on the active monitor.
// active-color "#7fc8ff"
active-color "#fe8019"
// Color of the ring on inactive monitors.
//
// The focus ring only draws around the active window, so the only place
// where you can see its inactive-color is on other monitors.
// inactive-color "#505050"
inactive-color "#7c6f64"
Change width 4 to width 2
Change active-color "#7fc8ff" to active-color "fe8019"
Change inactive-color "#505050" to inactive-color "#7c6f64"
Output
/-output "eDP-1" {
// Uncomment this line to disable this output.
// off
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "1920x1080@120.030"
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 2
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale and rotation has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// If the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=1280 y=0
}
Settings for output would need to be change as per device. I am mostly using niri on desktops. To get what resolutions your display can take run niri msg outputs