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

@ -139,7 +139,10 @@
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
WLR_NO_HARDWARE_CURSORS = "0";
XCURSOR_SIZE = "24";
} // (if variant == "allegro" then { TMPDIR = "/home/${username}/tmp"; } else {});
} // (if variant == "allegro" then {
TMPDIR = "/home/${username}/tmp";
GSETTINGS_SCHEMA_DIR = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas-47.1/glib-2.0/schemas";
} else {});
home.keyboard.options = [
"caps:escape"

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}

37
ui.nix
View file

@ -42,7 +42,6 @@ in
xsession.enable = true;
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {
serif = [ "Gentium Plus" ];
@ -102,8 +101,6 @@ in
};
};
xdg = {
mimeApps.defaultApplications."TerminalEmulator" = "Alacritty.desktop";
};
@ -209,27 +206,31 @@ in
package = pkgs.inter;
name = "Inter";
};
theme = {
name = "Catppuccin-Latte-Compact-Pink-Light";
# name = "Catppuccin-Mocha-Compact-Pink-Dark";
package = pkgs.catppuccin-gtk.override {
accents = [ "pink" ];
size = "compact";
tweaks = [ ];
variant = "latte";
};
};
iconTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
# theme = {
# name = "Catppuccin-Latte-Compact-Pink-Light";
# # name = "Catppuccin-Mocha-Compact-Pink-Dark";
# package = pkgs.catppuccin-gtk.override {
# accents = [ "pink" ];
# size = "compact";
# tweaks = [ ];
# variant = "latte";
# };
# };
# iconTheme = {
# name = "Adwaita";
# package = pkgs.adwaita-icon-theme;
# };
cursorTheme = {
name = "Hackneyed";
package = pkgs.hackneyed;
};
};
services.darkman = {
services.darkman = let
reload-hyprland = ''
hyprctl reload
'';
in {
lightModeScripts = {
gtk-theme = ''
${pkgs.dconf}/bin/dconf write /org/gnome/desktop/interface/color-scheme "'prefer-light'"