Poprawa integracji z portalem XDG i wsparcie dla Ulaunchera

- Dodano `xdg-desktop-portal-hyprland` do konfiguracji systemowej, Hyprlanda oraz środowiska użytkownika.
- Włączono obsługę `dbus` w `initrd`, co może być wymagane przez `xdg-desktop-portal`.
- Rozszerzono konfigurację portali XDG o jawne ustawienia priorytetów (`gtk`, `hyprland`).
- Dodano `ulauncher` oraz `wmctrl` do listy narzędzi, a także nowe skróty klawiszowe do jego uruchamiania.
- Pomimo zmian, integracja portalu XDG nie działa jeszcze zgodnie z oczekiwaniami.
This commit is contained in:
installer
2025-05-07 20:11:04 +02:00
parent e832b7fd33
commit 9a01abb83b
8 changed files with 81 additions and 36 deletions

View File

@@ -1,5 +1,6 @@
{ {
lib, lib,
pkgs,
username, username,
host, host,
config, config,
@@ -18,6 +19,7 @@ in
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
systemd.enable = true; systemd.enable = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
extraConfig = let extraConfig = let
modifier = "SUPER"; modifier = "SUPER";
in in
@@ -192,6 +194,7 @@ in
bind = ${modifier},SPACE,togglespecialworkspace bind = ${modifier},SPACE,togglespecialworkspace
bind = ${modifier},Return,exec,${terminal} bind = ${modifier},Return,exec,${terminal}
bind = ${modifier}SHIFT,Return,exec,rofi-launcher bind = ${modifier}SHIFT,Return,exec,rofi-launcher
bind = ${modifier}ALT,SPACE,exec,ulauncher-toggle
bind = ${modifier}ALT,W,exec,wallsetter bind = ${modifier}ALT,W,exec,wallsetter
bind = ${modifier}SHIFT,S,exec,screenshootin bind = ${modifier}SHIFT,S,exec,screenshootin
bind = ${modifier},E,exec,emopicker9000 bind = ${modifier},E,exec,emopicker9000

View File

@@ -18,6 +18,7 @@
systemd-boot.enable = true; systemd-boot.enable = true;
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
initrd.systemd.dbus.enable = true;
# Make /tmp a tmpfs # Make /tmp a tmpfs
tmp = { tmp = {
useTmpfs = false; useTmpfs = false;

View File

@@ -25,6 +25,11 @@
nixpkgs.config = { nixpkgs.config = {
allowUnfree = true; allowUnfree = true;
pulseaudio = true; pulseaudio = true;
# packageOverrides = pkgs: {
# ulauncher = pkgs.ulauncher.override {
# autoStart = true;
# };
# };
}; };
# Extra Portal Configuration # Extra Portal Configuration
@@ -34,12 +39,19 @@
wlr.enable = true; wlr.enable = true;
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal pkgs.xdg-desktop-portal-hyprland
]; ];
config = {
common = {
default = [
"gtk"
"hyprland"
];
};
};
configPackages = [ configPackages = [
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal
]; ];
}; };

View File

@@ -13,5 +13,7 @@
# lazygit # lazygit
docker-slim docker-slim
dex dex
ulauncher
wmctrl
]; ];
} }

View File

@@ -69,6 +69,11 @@
}; };
}; };
}; };
hyprland = {
enable = true;
withUWSM = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
dconf.enable = true; dconf.enable = true;
seahorse.enable = true; seahorse.enable = true;
fuse.userAllowOther = true; fuse.userAllowOther = true;

View File

@@ -1,10 +1,31 @@
{...}: { {pkgs, ...}: {
# Create XDG Dirs # Create XDG Dirs
xdg = { xdg = {
enable = true;
userDirs = { userDirs = {
enable = true; enable = true;
createDirectories = true; createDirectories = true;
}; };
portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
config = {
common = {
default = [
"gtk"
"hyprland"
];
};
};
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
}; };
dconf.settings = { dconf.settings = {

View File

@@ -49,6 +49,7 @@ in
" + Prawy przycisk myszy" "Zmień rozmiar okna" "resizewindow" \ " + Prawy przycisk myszy" "Zmień rozmiar okna" "resizewindow" \
" + ENTER" "Otwórz terminal" "${terminal}" \ " + ENTER" "Otwórz terminal" "${terminal}" \
" + SHIFT + ENTER" "Uruchom launcher aplikacji" "rofi-launcher" \ " + SHIFT + ENTER" "Uruchom launcher aplikacji" "rofi-launcher" \
" + ALT + SPACE" "Uruchom Ulauncher" "ulauncher-toggle" \
" + ALT + W" "Zmień tapetę" "wallsetter" \ " + ALT + W" "Zmień tapetę" "wallsetter" \
" + SHIFT + S" "Zrób zrzut ekranu" "screenshootin" \ " + SHIFT + S" "Zrób zrzut ekranu" "screenshootin" \
" + E" "Uruchom selektor emotikon" "emopicker9000" \ " + E" "Uruchom selektor emotikon" "emopicker9000" \