From a4afc1893761bd3dab74e8e0cb4dd994c96a3fee Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Feb 2025 19:13:39 -0600 Subject: [PATCH] feat: fuck hyprland until they fix their shit --- flake.lock | 259 ++++++++++++++---- flake.nix | 6 +- home/default.nix | 1 - .../code/zed/config/userKeymaps/default.nix | 12 +- .../audio/audioPlaying/feishin/default.nix | 24 ++ home/modules/gui/desktop/hyprland/default.nix | 4 +- .../desktop}/udiskie/default.nix | 0 nixos/default.nix | 1 - nixos/modules/fonts.nix | 66 ++++- nixos/modules/{ => hyprland}/bluetooth.nix | 9 +- nixos/modules/hyprland/default.nix | 10 +- nixos/modules/hyprland/hyprland.nix | 23 +- nixos/modules/hyprland/wayland.nix | 20 +- 13 files changed, 337 insertions(+), 98 deletions(-) rename home/modules/{cli/utilities => gui/desktop}/udiskie/default.nix (100%) rename nixos/modules/{ => hyprland}/bluetooth.nix (65%) diff --git a/flake.lock b/flake.lock index ed5b908..e39a681 100755 --- a/flake.lock +++ b/flake.lock @@ -220,11 +220,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -332,7 +332,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1731533236, @@ -371,7 +371,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_11" + "systems": "systems_12" }, "locked": { "lastModified": 1731533236, @@ -520,11 +520,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1738284694, - "narHash": "sha256-vLDweuBMu8fOyo9YMiV/1p9gxH5/OVm8zKRkGpbcuUA=", + "lastModified": 1738455488, + "narHash": "sha256-tiMwjSEMyIQ9UnQ7/UmxvTnigdgBW2DC/17dxbsih+w=", "owner": "helix-editor", "repo": "helix", - "rev": "025719c1d82fd32a82d8d8a4a138842ed92480c1", + "rev": "e70f8833e2ba4903324449da7f2116b75de67537", "type": "github" }, "original": { @@ -567,11 +567,11 @@ ] }, "locked": { - "lastModified": 1738275749, - "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", + "lastModified": 1738448366, + "narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", + "rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93", "type": "github" }, "original": { @@ -681,11 +681,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1738273002, - "narHash": "sha256-R1CWBSEHZhykHo3/H3M4U7zLv1QaS87JCTHas38TNiU=", + "lastModified": 1738437019, + "narHash": "sha256-XPl2sQ6x5Dtw4XrrLMp1ERQSG1/heV6JJ9Gthm2SCMw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "ef03f6911694413b1b06aba727ad9ab089a511f7", + "rev": "64fefa3749868e6170b6275963c6528456a7d9f2", "type": "github" }, "original": { @@ -694,6 +694,31 @@ "type": "github" } }, + "hyprland-portal": { + "inputs": { + "hyprland-protocols": "hyprland-protocols_3", + "hyprlang": "hyprlang_3", + "hyprutils": "hyprutils_3", + "hyprwayland-scanner": "hyprwayland-scanner_3", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_7" + }, + "locked": { + "lastModified": 1737634991, + "narHash": "sha256-dBAnb7Kbnier30cA7AgxVSxxARmxKZ1vHZT33THSIr8=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "e09dfe2726c8008f983e45a0aa1a3b7416aaeb8a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -744,6 +769,31 @@ "type": "github" } }, + "hyprland-protocols_3": { + "inputs": { + "nixpkgs": [ + "hyprland-portal", + "nixpkgs" + ], + "systems": [ + "hyprland-portal", + "systems" + ] + }, + "locked": { + "lastModified": 1737556638, + "narHash": "sha256-laKgI3mr2qz6tas/q3tuGPxMdsGhBi/w+HO+hO2f1AY=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "4c75dd5c015c8a0e5a34c6d02a018a650f57feb5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "hyprland-qt-support": { "inputs": { "hyprlang": [ @@ -870,6 +920,35 @@ "type": "github" } }, + "hyprlang_3": { + "inputs": { + "hyprutils": [ + "hyprland-portal", + "hyprutils" + ], + "nixpkgs": [ + "hyprland-portal", + "nixpkgs" + ], + "systems": [ + "hyprland-portal", + "systems" + ] + }, + "locked": { + "lastModified": 1737634606, + "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -920,6 +999,31 @@ "type": "github" } }, + "hyprutils_3": { + "inputs": { + "nixpkgs": [ + "hyprland-portal", + "nixpkgs" + ], + "systems": [ + "hyprland-portal", + "systems" + ] + }, + "locked": { + "lastModified": 1737632363, + "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, "hyprwayland-scanner": { "inputs": { "nixpkgs": [ @@ -970,6 +1074,31 @@ "type": "github" } }, + "hyprwayland-scanner_3": { + "inputs": { + "nixpkgs": [ + "hyprland-portal", + "nixpkgs" + ], + "systems": [ + "hyprland-portal", + "systems" + ] + }, + "locked": { + "lastModified": 1735493474, + "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "lix": { "flake": false, "locked": { @@ -1014,14 +1143,14 @@ "nixpkgs-stable": "nixpkgs-stable_2", "pre-commit-hooks": "pre-commit-hooks_2", "sops-nix": "sops-nix", - "systems": "systems_8" + "systems": "systems_9" }, "locked": { - "lastModified": 1737974228, - "narHash": "sha256-Dlca5iXvpks65wfwKw67H/OB3pDuvv3zXjImLc7rwFs=", + "lastModified": 1738417913, + "narHash": "sha256-kDvtRkmeXtFo6UrxFCLRWxyPbNhwyIzb5vRXmPZ3D/k=", "owner": "ngi-nix", "repo": "ngipkgs", - "rev": "4d6c17428e6e32f474e8fc75a87b8f9bd6c6356d", + "rev": "22541f0b0b4375ac55590981b0c529620cea8a4f", "type": "github" }, "original": { @@ -1096,11 +1225,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1738410390, + "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", "type": "github" }, "original": { @@ -1135,11 +1264,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1738282823, - "narHash": "sha256-F9Npwxwy6xoTLKYcWFeTsk7MTVKxK9IeT1lsSSCjExg=", + "lastModified": 1738362438, + "narHash": "sha256-EO2dVkMVLThWqv4hobEZEZGWBEuH2Z9SYqQDrbLSclU=", "owner": "nix-community", "repo": "NUR", - "rev": "6afe9691509edbfdcd9b2f4a703c6ed5c588255e", + "rev": "95ddad0ff0e67c90314c6ca46324dce5f9a910d2", "type": "github" }, "original": { @@ -1266,13 +1395,14 @@ "home-manager": "home-manager", "hypridle": "hypridle", "hyprland": "hyprland", + "hyprland-portal": "hyprland-portal", "lix-module": "lix-module", "ngipkgs": "ngipkgs", "nixpkgs": "nixpkgs_2", "nur": "nur", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "sops-nix": "sops-nix_2", - "systems": "systems_9", + "systems": "systems_10", "waybar": "waybar", "wpaperd": "wpaperd", "yazi": "yazi" @@ -1392,11 +1522,11 @@ ] }, "locked": { - "lastModified": 1737411508, - "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", + "lastModified": 1738291974, + "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=", "owner": "Mic92", "repo": "sops-nix", - "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", + "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7", "type": "github" }, "original": { @@ -1421,6 +1551,21 @@ } }, "systems_10": { + "locked": { + "lastModified": 1680978846, + "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", + "owner": "nix-systems", + "repo": "x86_64-linux", + "rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "x86_64-linux", + "type": "github" + } + }, + "systems_11": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1435,7 +1580,7 @@ "type": "github" } }, - "systems_11": { + "systems_12": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1526,21 +1671,6 @@ } }, "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_8": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1555,18 +1685,33 @@ "type": "github" } }, - "systems_9": { + "systems_8": { "locked": { - "lastModified": 1680978846, - "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "x86_64-linux", - "rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "x86_64-linux", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", "type": "github" } }, @@ -1621,11 +1766,11 @@ ] }, "locked": { - "lastModified": 1737793892, - "narHash": "sha256-Dl7JEjpno+4dv66ZhqQyHT3zWw6d51fJ0cphu0Aejqk=", + "lastModified": 1738399335, + "narHash": "sha256-OvtDGDUX0P5oz/LzhzeAcGfd6ihlUHPMKR4CZgnScTA=", "owner": "Alexays", "repo": "Waybar", - "rev": "481b01d9af1e34b7501665bbfc0b19fce5082eb5", + "rev": "0d5a4f82eca6df03b73908244d1dcd5fec2c3584", "type": "github" }, "original": { @@ -1640,7 +1785,7 @@ "nixpkgs" ], "rust-overlay": "rust-overlay_2", - "systems": "systems_10" + "systems": "systems_11" }, "locked": { "lastModified": 1734445299, @@ -1704,11 +1849,11 @@ "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1738174915, - "narHash": "sha256-oN18XGFcTwk58F8REqx3DTeCD+z3LAanWVznZ0P3ESc=", + "lastModified": 1738314122, + "narHash": "sha256-lyA97h4cKYgX/RX2IDw1J3XWCj9rC4v2yW70nEX2wYo=", "owner": "sxyazi", "repo": "yazi", - "rev": "b6cb1fa8d3fb3fafea7a190f23acaeb44333cfe9", + "rev": "c41f2e21e039c068d4ae1d286f2a8a9eef182895", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 23044ee..163fbc1 100755 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,10 @@ url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; }; + hyprland-portal = { + url = "github:hyprwm/xdg-desktop-portal-hyprland"; + inputs.nixpkgs.follows = "nixpkgs"; + }; hypridle = { url = "github:hyprwm/hypridle"; inputs.nixpkgs.follows = "nixpkgs"; @@ -80,7 +84,7 @@ ./profiles/user0 ./profiles/user1 config.nixosModules.desktop - config.nixosModules.hyprland + config.nixosModules.plasma config.nixosModules.personal config.nixosModules.shared config.nixosModules.sops diff --git a/home/default.nix b/home/default.nix index eee8197..aa5aafe 100755 --- a/home/default.nix +++ b/home/default.nix @@ -50,7 +50,6 @@ in messaging sharing tools - desktop ; }; }; diff --git a/home/modules/gui/apps/code/zed/config/userKeymaps/default.nix b/home/modules/gui/apps/code/zed/config/userKeymaps/default.nix index 723fab7..1576292 100755 --- a/home/modules/gui/apps/code/zed/config/userKeymaps/default.nix +++ b/home/modules/gui/apps/code/zed/config/userKeymaps/default.nix @@ -16,10 +16,10 @@ "alt-s" = "editor::MoveLineDown"; }; } - { - bindings = { - context = "Workspace"; - "ctrl-s" = "workspace::SaveAll"; - }; - } + # { + # bindings = { + # context = "Workspace"; + # "ctrl-s" = "workspace::SaveAll"; + # }; + # } ] diff --git a/home/modules/gui/apps/media/audio/audioPlaying/feishin/default.nix b/home/modules/gui/apps/media/audio/audioPlaying/feishin/default.nix index 91238af..fae0ba5 100755 --- a/home/modules/gui/apps/media/audio/audioPlaying/feishin/default.nix +++ b/home/modules/gui/apps/media/audio/audioPlaying/feishin/default.nix @@ -8,4 +8,28 @@ feishin ; }; + xdg.configFile."feishin.config.json".text = '' + { + "window_has_frame": true, + "bounds": { + "x": 0, + "y": 0, + "width": 2560, + "height": 1080 + }, + "maximized": true, + "fullscreen": false, + "theme": "system", + "resume": true, + "lyrics": [ + "Genius", + "lrclib.net", + "NetEase" + ], + "window_window_bar_style": "linux", + "window_minimize_to_tray": false, + "window_enable_tray": false, + "window_start_minimized": false, + "window_exit_to_tray": false + }''; } diff --git a/home/modules/gui/desktop/hyprland/default.nix b/home/modules/gui/desktop/hyprland/default.nix index e202ce5..fb2ab94 100755 --- a/home/modules/gui/desktop/hyprland/default.nix +++ b/home/modules/gui/desktop/hyprland/default.nix @@ -1,5 +1,5 @@ { - # pkgs, + pkgs, flake, config, ... @@ -29,7 +29,7 @@ in { wayland.windowManager.hyprland = { enable = true; - # package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; + package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland.enable = true; systemd.enable = false; settings = configImports; diff --git a/home/modules/cli/utilities/udiskie/default.nix b/home/modules/gui/desktop/udiskie/default.nix similarity index 100% rename from home/modules/cli/utilities/udiskie/default.nix rename to home/modules/gui/desktop/udiskie/default.nix diff --git a/nixos/default.nix b/nixos/default.nix index 50cb6a7..5ed5fa5 100755 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -40,7 +40,6 @@ in inherit (modules) android audio - bluetooth corectrl dconf disks diff --git a/nixos/modules/fonts.nix b/nixos/modules/fonts.nix index d6a2047..d5bdc03 100755 --- a/nixos/modules/fonts.nix +++ b/nixos/modules/fonts.nix @@ -35,8 +35,72 @@ in iosevka ; inherit (pkgs.nerd-fonts) - monaspace + _0xproto + _3270 + agave + anonymice + arimo + aurulent-sans-mono + bigblue-terminal + bitstream-vera-sans-mono + blex-mono + caskaydia-cove + caskaydia-mono + code-new-roman + comic-shanns-mono + commit-mono + cousine + d2coding + daddy-time-mono + dejavu-sans-mono + departure-mono + droid-sans-mono + envy-code-r fantasque-sans-mono + fira-code + fira-mono + geist-mono + go-mono + gohufont + hack + hasklug + heavy-data + hurmit + im-writing + inconsolata + inconsolata-go + inconsolata-lgc + intone-mono + iosevka-term + iosevka-term-slab + jetbrains-mono + lekton + liberation + lilex + martian-mono + monaspace + monofur + monoid + mononoki + mplus + noto + open-dyslexic + overpass + profont + proggy-clean-tt + recursive-mono + roboto-mono + sauce-code-pro + shure-tech-mono + space-mono + symbols-only + terminess-ttf + tinos + ubuntu + ubuntu-mono + ubuntu-sans + victor-mono + zed-mono ; }; }; diff --git a/nixos/modules/bluetooth.nix b/nixos/modules/hyprland/bluetooth.nix similarity index 65% rename from nixos/modules/bluetooth.nix rename to nixos/modules/hyprland/bluetooth.nix index ffb634e..80619f4 100755 --- a/nixos/modules/bluetooth.nix +++ b/nixos/modules/hyprland/bluetooth.nix @@ -1,10 +1,15 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ hardware = { bluetooth = { enable = true; package = pkgs.bluez; powerOnBoot = true; - settings = {General = {Experimental = true;};}; + settings = { + General = { + Experimental = true; + }; + }; disabledPlugins = [ "sap" ]; diff --git a/nixos/modules/hyprland/default.nix b/nixos/modules/hyprland/default.nix index 890b266..3eefd7d 100755 --- a/nixos/modules/hyprland/default.nix +++ b/nixos/modules/hyprland/default.nix @@ -1,5 +1,6 @@ { imports = map (file: ./${file}.nix) [ + "bluetooth" "geoclue2" "greetd" "network" @@ -10,13 +11,4 @@ "thunar" "wayland" ]; - environment = { - variables = { - WLR_NO_HARDWARE_CURSORS = "1"; - WLR_DRM_NO_ATOMIC = "1"; - FLAMESHOT_ENABLE_WAYLAND = "1"; - USE_WAYLAND_GRIM = "1"; - USE_WAYLAND_CLIPBOARD = "1"; - }; - }; } diff --git a/nixos/modules/hyprland/hyprland.nix b/nixos/modules/hyprland/hyprland.nix index b24b188..e04e46e 100755 --- a/nixos/modules/hyprland/hyprland.nix +++ b/nixos/modules/hyprland/hyprland.nix @@ -1,18 +1,14 @@ { pkgs, - # flake, + flake, ... -}: { +}: +{ programs.hyprland = { enable = true; xwayland.enable = true; - # package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; - }; - xdg.portal = { - enable = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - ]; + package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; + portalPackage = flake.inputs.hyprland-portal.packages.${pkgs.system}.xdg-desktop-portal-hyprland; }; nix = { settings = { @@ -24,4 +20,13 @@ ]; }; }; + environment = { + variables = { + WLR_NO_HARDWARE_CURSORS = "1"; + WLR_DRM_NO_ATOMIC = "1"; + FLAMESHOT_ENABLE_WAYLAND = "1"; + USE_WAYLAND_GRIM = "1"; + USE_WAYLAND_CLIPBOARD = "1"; + }; + }; } diff --git a/nixos/modules/hyprland/wayland.nix b/nixos/modules/hyprland/wayland.nix index a455fbe..a5b5383 100755 --- a/nixos/modules/hyprland/wayland.nix +++ b/nixos/modules/hyprland/wayland.nix @@ -1,20 +1,22 @@ -{ pkgs, ... }: +{ pkgs, flake, ... }: { environment.sessionVariables.NIXOS_OZONE_WL = "1"; xdg = { portal = { enable = true; - extraPortals = builtins.attrValues { - inherit (pkgs) - xdg-desktop-portal-hyprland - xdg-desktop-portal-wlr - # xdg-desktop-portal-kde - xdg-desktop-portal-gtk - ; - }; wlr.enable = true; xdgOpenUsePortal = true; + extraPortals = builtins.attrValues { + inherit (pkgs) + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ; + inherit (pkgs.kdePackages) + xdg-desktop-portal-kde + ; + }; }; }; + }