Files
nixos/henrovnix_ok/home/desktop/hyprland.nix
T

42 lines
1.3 KiB
Nix

{ config, lib, pkgs, flakeRoot, ... }:
let
hyprConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/hyprland.conf";
bindingsConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/bindings.conf";
lidLockScript = flakeRoot.outPath + "/assets/conf/desktop/hypr/scripts/lid-lock.sh";
in
{
wayland.windowManager.hyprland = {
enable = true;
# Load base config + bindings from repo files
extraConfig = ''
${builtins.readFile hyprConf}
# --- Repo keybindings ---
${builtins.readFile bindingsConf}
'';
settings = {
windowrule = [
"match:class nm-connection-editor, float 1, center 1, size 900 700"
];
};
};
# Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hypr/scripts/lid-lock.sh" = {
source = lib.mkForce lidLockScript;
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" ];
};
};
}