hyprland portal on allegro

This commit is contained in:
Antoine Vaure 2024-12-22 21:16:10 +01:00
parent d5e01122e3
commit 5add4bae94
3 changed files with 74 additions and 40 deletions

View file

@ -1,22 +1,49 @@
{ config, lib, pkgs, pkgs-unstable, pkgs-24_05, variant, ... }: {
home.packages = with pkgs; [
# xdg-desktop-portal
# xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
# xwayland
];
xdg = lib.attrsets.optionalAttrs (variant == "allegro") {
configFile."systemd/user/dbus-broker.service".source =
"${pkgs.dbus-broker}/share/systemd/user/dbus-broker.service";
configFile."systemd/user/at-spi-dbus-bus.service".source =
"${pkgs.at-spi2-core}/lib/systemd/user/at-spi-dbus-bus.service";
dataFile."dbus-1/services/org.a11y.Bus.service".source =
"${pkgs.at-spi2-core}/share/dbus-1/services/org.a11y.Bus.service";
dataFile."dbus-1/accessibility-services/org.a11y.atspi.Registry.service".source =
"${pkgs.at-spi2-core}/share/dbus-1/accessibility-services/org.a11y.atspi.Registry.service";
# xdg.portal = {
# enable = true;
# extraPortals = [
# pkgs.lxqt.xdg-desktop-portal-lxqt
# pkgs.xdg-desktop-portal-kde
# ];
# config = {
# hyprland = { default = [ "lxqt,hyprland" ]; };
# common = { default = [ "kde,gtk" ]; };
# };
# };
configFile."systemd/user/xdg-desktop-portal.service".source =
"${pkgs.xdg-desktop-portal}/lib/systemd/user/xdg-desktop-portal.service";
configFile."systemd/user/xdg-desktop-portal-gtk.service".source =
"${pkgs.xdg-desktop-portal-gtk}/lib/systemd/user/xdg-desktop-portal-gtk.service";
configFile."systemd/user/xdg-desktop-portal-hyprland.service".source =
"${pkgs.xdg-desktop-portal-hyprland}/lib/systemd/user/xdg-desktop-portal-hyprland.service";
dataFile."share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service".source =
"${pkgs.xdg-desktop-portal-hyprland}share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service";
dataFile."systemd/user/pipewire.service".source =
"${pkgs.pipewire}/share/systemd/user/pipewire.service";
dataFile."systemd/user/pipewire-pulse.service".source =
"${pkgs.pipewire}/share/systemd/user/pipewire-pulse.service";
dataFile."systemd/user/filter-chain.service".source =
"${pkgs.pipewire}/share/systemd/user/filter-chain.service";
dataFile."systemd/user/pipewire.socket".source =
"${pkgs.pipewire}/share/systemd/user/pipewire.socket";
dataFile."systemd/user/pipewire-pulse.socket".source =
"${pkgs.pipewire}/share/systemd/user/pipewire-pulse.socket";
portal = {
enable = true;
# xdgOpenUsePortal = true;
extraPortals =
[ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-hyprland ];
configPackages =
[ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-hyprland ];
# config.common.default = "*";
config = {
hyprland = { default = [ "gtk,hyprland" ]; };
common = { default = [ "gtk,hyprland" ]; };
};
};
};
home.sessionVariables = {
NIXOS_OZONE_WL = "1";
@ -28,15 +55,15 @@
XDG_SESSION_DESKTOP = "Hyprland";
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
XCURSOR_SIZE = "24";
DXVK_FILTER_DEVICE_NAME="NVIDIA";
DXVK_FILTER_DEVICE_NAME = "NVIDIA";
SYSTEMD_PAGER = "";
};
wayland.windowManager.hyprland = {
enable = true;
package = if variant == "allegro" then pkgs.hyprland else pkgs.hyprland;
systemd.enable = true;
xwayland.enable = true;
settings = {
debug = {
disable_logs = false;
@ -355,6 +382,9 @@
''
}
env = HYPRCURSOR_THEME,Hackneyed
env = HYPRCURSOR_SIZE,24
windowrule=tile,Nsxiv
exec = pkill swaybg; ${swaybgScript}