{ config, pkgs, lib, ... }: let configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; executable = true; text = let schema = pkgs.gsettings-desktop-schemas; datadir = "${schema}/share/gsettings-schemas/${schema.name}"; in '' export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS gnome_schema=org.gnome.desktop.interface gsettings set $gnome_schema gtk-theme 'Dracula' ''; }; in { environment.systemPackages = with pkgs; [ alacritty bemenu #configure-gtk #dbus-sway-environment dracula-theme # gtk theme glib gnome.adwaita-icon-theme grim mako slurp swaybg swayidle swayimg swaylock-effects swaynotificationcenter waybar wayland wl-clipboard ]; # xdg-desktop-portal works by exposing a series of D-Bus interfaces # known as portals under a well-known name # (org.freedesktop.portal.Desktop) and object path # (/org/freedesktop/portal/desktop). # The portal interfaces include APIs for file access, opening URIs, # printing and others. services.dbus.enable = true; xdg.portal = { enable = true; wlr.enable = true; # gtk portal needed to make gtk apps happy extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; #gtkUsePortal = true; }; # wayland.windowManager.hyprland = { # enable = true; # extraConfig = '' # bind = SUPER, Return, exec, kitty # # ... # ''; # }; programs.hyprland.enable = true; }