Add Hyprland and Niri configuration files
- Introduced `binds.nix` for Hyprland, defining keybindings for various applications and workspace management. - Added `base-settings.nix` and `window-rules.nix` for Niri, establishing keyboard input settings and window management rules. - Updated `default.nix` for both Hyprland and Niri to import new configuration files, enhancing modularity and maintainability.
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
{ self, ... }: {
|
||||
imports = [
|
||||
./binds.nix
|
||||
];
|
||||
|
||||
flake.nixosModules.desktopHyprland =
|
||||
{ config, options, lib, pkgs, ... }:
|
||||
let
|
||||
@@ -38,6 +42,7 @@
|
||||
}:
|
||||
let
|
||||
hyprlandEnabled = osConfig.chiasson.desktop.hyprland.enable or false;
|
||||
dmsEnabled = (osConfig.chiasson.desktop.shell or null) == "dms";
|
||||
keyringEnabled = osConfig.chiasson.desktop.keyring.enable or false;
|
||||
# nixpkgs hyprland-plugins pin is stale for current Hyprland — override to a known-good rev.
|
||||
hyprbarsPatched =
|
||||
@@ -95,69 +100,9 @@
|
||||
"nm-applet --indicator &"
|
||||
"sleep 1 && hyprctl reload"
|
||||
];
|
||||
|
||||
# Default keybinds
|
||||
bind =
|
||||
[
|
||||
"SUPER,T,exec,kitty"
|
||||
"ControlSuper,T,exec,konsole"
|
||||
"SUPER,D,exec,rofi -show drun"
|
||||
"ControlSuper,D,exec,rofi -show window"
|
||||
"SUPER,E,exec,nemo"
|
||||
"Super, Q, killactive"
|
||||
"ControlSuper, Q, exec, hyprctl kill"
|
||||
"Super, F, fullscreen, 0"
|
||||
"Super, G, fullscreen, 1"
|
||||
"ShiftSuper, F, fullscreenstate, 0 3"
|
||||
"Super, Minus, splitratio, -0.1"
|
||||
"Super, Equal, splitratio, 0.1"
|
||||
"AltSuper, Space, togglefloating"
|
||||
"Super, P, pin"
|
||||
"Super, Space, exec, dms ipc call spotlight toggle"
|
||||
"Super, I, exec, dms ipc call settings focusOrToggle"
|
||||
"Super, N, exec, dms ipc call notepad toggle"
|
||||
"ShiftSuper, N, exec, dms ipc call notifications toggle"
|
||||
"Super, M, exec, dms ipc call processlist focusOrToggle"
|
||||
"Super, L, exec, dms ipc call lock lock"
|
||||
"ShiftSuper, V, exec, dms ipc call clipboard toggle"
|
||||
"Super, Tab, cyclenext"
|
||||
"Super, Tab, bringactivetotop"
|
||||
"Super, left, movefocus, l"
|
||||
"Super, right, movefocus, r"
|
||||
"Super, up, movefocus, u"
|
||||
"Super, down, movefocus, d"
|
||||
"ShiftSuper, left, movewindow, l"
|
||||
"ShiftSuper, right, movewindow, r"
|
||||
"ShiftSuper, up, movewindow, u"
|
||||
"ShiftSuper, down, movewindow, d"
|
||||
]
|
||||
++ (builtins.map (i: "Super, ${toString i}, workspace, ${toString i}") (builtins.genList (n: n + 1) 9))
|
||||
++ (builtins.map (i: "ControlSuper, ${toString i}, focusworkspaceoncurrentmonitor, ${toString i}") (builtins.genList (n: n + 1) 9))
|
||||
++ (builtins.map (i: "ShiftSuper, ${toString i}, movetoworkspacesilent, ${toString i}") (builtins.genList (n: n + 1) 9));
|
||||
|
||||
bindm = [
|
||||
" , mouse:282, movewindow"
|
||||
"Super, mouse:272, movewindow"
|
||||
"Super, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
"Super, mouse_up, splitratio, -0.1"
|
||||
"Super, mouse_down, splitratio, 0.1"
|
||||
" , XF86AudioPlay, exec, playerctl play-pause"
|
||||
" , XF86AudioPrev, exec, playerctl previous"
|
||||
" , XF86AudioNext, exec, playerctl next"
|
||||
" , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
" , XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
||||
" , XF86MonBrightnessUp, exec, brightnessctl s +10%"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
" , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
" , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
];
|
||||
|
||||
# Decoration / blur
|
||||
}
|
||||
(self.lib.hyprlandBinds { inherit lib dmsEnabled; })
|
||||
{
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
active_opacity = 0.95;
|
||||
|
||||
Reference in New Issue
Block a user