{ config, pkgs, lib, inputs, ... }: 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; [ wl-clipboard # Copy/Paste functionality. mako # Notification utility. ]; # Enables Gnome Keyring to store secrets for applications. services.gnome.gnome-keyring.enable = true; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ]; }; security.polkit.enable = true; # Enable Sway. programs.sway = { enable = true; wrapperFeatures.gtk = false; extraPackages = [ pkgs.foot pkgs.swayidle pkgs.swaylock pkgs.wmenu pkgs.wl-clipboard pkgs.mako pkgs.kdePackages.kate pkgs.kdePackages.filelight inputs.glide.packages.${pkgs.stdenv.hostPlatform.system}.default pkgs.swaybg pkgs.pulseaudioFull pkgs.waybar pkgs.dracula-theme # gtk theme pkgs.brightnessctl configure-gtk ]; }; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.tuigreet}/bin/tuigreet --remember --time --cmd sway"; user = "greeter"; }; }; }; }