41 lines
1.2 KiB
Nix
41 lines
1.2 KiB
Nix
{ config, lib, pkgs, flakeRoot, ... }:
|
|
let
|
|
hyprConf = flakeRoot + "/assets/conf/desktop/hypr/hyprland.conf";
|
|
bindingsConf = flakeRoot + "/assets/conf/desktop/hypr/bindings.conf";
|
|
in
|
|
{
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
# Load base config + bindings from repo files
|
|
extraConfig =
|
|
(builtins.readFile hyprConf)
|
|
+ "\n\n# --- Repo keybindings ---\n"
|
|
+ (builtins.readFile bindingsConf)
|
|
+ "\n";
|
|
settings = {
|
|
windowrule = [
|
|
"match:class nm-connection-editor, float 1, center 1, size 900 700"
|
|
];
|
|
};
|
|
|
|
};
|
|
xdg.configFile."hypr/scripts/lid-lock.sh" = {
|
|
source = flakeRoot + "/assets/conf/desktop/hypr/scripts/lid-lock.sh";
|
|
executable = true;
|
|
};
|
|
xdg.portal = {
|
|
enable = true;
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
xdg-desktop-portal-hyprland
|
|
];
|
|
# GTK als algemene backend (OpenURI is daar betrouwbaar)
|
|
config.common.default = [ "gtk" ];
|
|
# Hyprland alleen voor screensharing / remote desktop
|
|
config.hyprland = {
|
|
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
|
|
"org.freedesktop.impl.portal.RemoteDesktop" = [ "hyprland" ];
|
|
};
|
|
};
|
|
}
|