159 lines
4.1 KiB
Nix
159 lines
4.1 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
inputs,
|
|
pkgs,
|
|
home,
|
|
system,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.modules.niri;
|
|
in
|
|
{
|
|
imports = [ inputs.niri-flake.homeModules.niri ];
|
|
options.modules.niri = {
|
|
enable = lib.mkEnableOption "niri configuration module";
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
# nixpkgs.overlays = [ inputs.niri-flake.overlays.niri ];
|
|
gtk.enable = lib.mkForce false;
|
|
home.packages = with pkgs; [ kickoff ];
|
|
programs = {
|
|
niri = {
|
|
enable = true;
|
|
# package = pkgs.niri-unstable;
|
|
settings = {
|
|
input = {
|
|
keyboard = {
|
|
xkb = {
|
|
layout = "gb";
|
|
};
|
|
numlock = true;
|
|
};
|
|
};
|
|
outputs = {
|
|
DP-3 = {
|
|
# Philips Consumer Electronics Company PHL 272E1GZ UK02101011104
|
|
mode = {
|
|
width = 1920;
|
|
height = 1080;
|
|
refresh = 165.0;
|
|
};
|
|
focus-at-startup = true;
|
|
variable-refresh-rate = true;
|
|
};
|
|
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+T".action.spawn = "helium";
|
|
"Mod+R".action.spawn = "kickoff";
|
|
"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;
|
|
};
|
|
};
|
|
};
|
|
wlogout = {
|
|
enable = true;
|
|
layout = [
|
|
{
|
|
"label" = "lock";
|
|
"action" = "hyprlock";
|
|
"text" = "Lock";
|
|
"keybind" = "l";
|
|
}
|
|
{
|
|
"label" = "hibernate";
|
|
"action" = "systemctl hibernate";
|
|
"text" = "Hibernate";
|
|
"keybind" = "h";
|
|
}
|
|
{
|
|
"label" = "logout";
|
|
"action" = "loginctl terminate-user $USER";
|
|
"text" = "Logout";
|
|
"keybind" = "e";
|
|
}
|
|
{
|
|
# TODO add hypr shutdown
|
|
"label" = "shutdown";
|
|
"action" = "systemctl poweroff";
|
|
"text" = "Shutdown";
|
|
"keybind" = "s";
|
|
}
|
|
{
|
|
"label" = "suspend";
|
|
"action" = "systemctl suspend";
|
|
"text" = "Suspend";
|
|
"keybind" = "u";
|
|
}
|
|
{
|
|
"label" = "reboot";
|
|
"action" = "systemctl reboot";
|
|
"text" = "Reboot";
|
|
"keybind" = "r";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|