143 lines
3.9 KiB
Nix
143 lines
3.9 KiB
Nix
{pkgs, ...}: let
|
|
terminal = "${pkgs.foot}/bin/footclient";
|
|
nautilus = "${pkgs.nautilus}/bin/nautilus";
|
|
in {
|
|
# Since native Home Manager doesn't have a programs.niri module yet,
|
|
# we generate the KDL configuration file directly.
|
|
services.hyprpaper = {
|
|
enable = true;
|
|
settings = {
|
|
ipc = "off";
|
|
splash = false;
|
|
wallpaper = {
|
|
path = "${../hyprland/files/wallpaper.png}";
|
|
monitor = "";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
input-field = [
|
|
{
|
|
size = "200, 50";
|
|
position = "0, -80";
|
|
monitor = "";
|
|
dots_center = true;
|
|
fade_on_empty = true;
|
|
font_color = "rgb(202, 211, 245)";
|
|
inner_color = "rgb(91, 96, 120)";
|
|
outer_color = "rgb(24, 25, 38)";
|
|
outline_thickness = 3;
|
|
placeholder_text = "<span foreground=\"##cad3f5\">Password...</span>";
|
|
shadow_passes = 2;
|
|
}
|
|
];
|
|
general = {
|
|
no_fade_in = false;
|
|
};
|
|
background = [
|
|
{
|
|
path = "screenshot";
|
|
blur_passes = 3;
|
|
blur_size = 8;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
xdg.configFile."niri/config.kdl".text = ''
|
|
spawn-at-startup "${pkgs.hyprpaper}/bin/hyprpaper"
|
|
spawn-at-startup "foot" "--server"
|
|
spawn-at-startup "ags" "run"
|
|
spawn-at-startup "${pkgs.mate-polkit}/bin/polkit-mate"
|
|
prefer-no-csd
|
|
|
|
layout {
|
|
gaps 5
|
|
border {
|
|
off
|
|
}
|
|
focus-ring {
|
|
width 4
|
|
active-color "rgba(0, 47, 95, 238)"
|
|
inactive-color "rgba(255, 255, 255, 0)"
|
|
}
|
|
}
|
|
|
|
input {
|
|
touchpad {
|
|
tap
|
|
}
|
|
focus-follows-mouse max-scroll-amount="10%"
|
|
warp-mouse-to-focus
|
|
}
|
|
output "eDP-1" {
|
|
scale 1.2
|
|
}
|
|
window-rule {
|
|
match app-id="vicinae"
|
|
open-floating true
|
|
}
|
|
|
|
binds {
|
|
// General Binds
|
|
Mod+Return { spawn "${terminal}"; }
|
|
Mod+Shift+Return { spawn "${terminal}"; }
|
|
Mod+Q { close-window; }
|
|
Mod+A { spawn "${nautilus}"; }
|
|
Mod+B { spawn "Helium"; }
|
|
Mod+M { maximize-column; }
|
|
Mod+F { fullscreen-window; }
|
|
|
|
// Vicinae Binds
|
|
Mod+C { spawn "vicinae" "vicinae://extensions/vicinae/clipboard/history"; }
|
|
Mod+N { spawn "vicinae" "vicinae://extensions/vicinae/wm/switch-windows"; }
|
|
Mod+Escape { spawn "vicinae" "open" "-q" "Power Management "; }
|
|
|
|
// Main Vicinae Toggle
|
|
Mod+Space { spawn "vicinae" "toggle"; }
|
|
|
|
Mod+Comma { consume-or-expel-window-left; }
|
|
Mod+Period { consume-or-expel-window-right; }
|
|
|
|
Mod+Shift+Minus { set-window-height "-10%"; }
|
|
Mod+Shift+Equal { set-window-height "+10%"; }
|
|
|
|
// Movement
|
|
Mod+H { focus-column-left; }
|
|
Mod+J { focus-window-down; }
|
|
Mod+K { focus-window-up; }
|
|
Mod+L { focus-column-right; }
|
|
|
|
Mod+Shift+H { move-column-left; }
|
|
Mod+Shift+L { move-column-right; }
|
|
Mod+Shift+J { move-window-down; }
|
|
Mod+Shift+K { move-window-up; }
|
|
|
|
// Workspaces
|
|
Mod+1 { focus-workspace 1; }
|
|
Mod+2 { focus-workspace 2; }
|
|
Mod+3 { focus-workspace 3; }
|
|
Mod+4 { focus-workspace 4; }
|
|
Mod+5 { focus-workspace 5; }
|
|
Mod+6 { focus-workspace 6; }
|
|
Mod+7 { focus-workspace 7; }
|
|
Mod+8 { focus-workspace 8; }
|
|
Mod+9 { focus-workspace 9; }
|
|
|
|
// Move to workspace
|
|
Mod+Shift+1 { move-column-to-workspace 1; }
|
|
Mod+Shift+2 { move-column-to-workspace 2; }
|
|
Mod+Shift+3 { move-column-to-workspace 3; }
|
|
Mod+Shift+4 { move-column-to-workspace 4; }
|
|
Mod+Shift+5 { move-column-to-workspace 5; }
|
|
Mod+Shift+6 { move-column-to-workspace 6; }
|
|
Mod+Shift+7 { move-column-to-workspace 7; }
|
|
Mod+Shift+8 { move-column-to-workspace 8; }
|
|
Mod+Shift+9 { move-column-to-workspace 9; }
|
|
}
|
|
'';
|
|
}
|