{ config, pkgs, ... }: let configure-gtk = let schema = pkgs.gsettings-desktop-schemas; datadir = "${schema}/share/gsettings-schemas/${schema.name}"; gsettings = "${pkgs.glib}/bin/gsettings"; in pkgs.writeScriptBin "configure-gtk" '' #!${pkgs.dash}/bin/dash export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS ${gsettings} set org.gnome.desktop.interface gtk-theme 'gruvbox-dark' ${gsettings} set org.gnome.desktop.interface icon-theme 'Papirus-Dark' ${gsettings} set org.gnome.desktop.wm.preferences button-layout "" ''; in { imports = [ ./bemenu.nix ./waybar.nix ./foot.nix ./mako.nix ./swaylock.nix ]; home.packages = with pkgs; [ configure-gtk glib gsettings-desktop-schemas light pamixer playerctl river swaybg wl-clipboard wtype xdg-utils ]; programs.zsh.loginExtra = '' [[ -z "''${DISPLAY}" ]] && [[ "$(tty)" = "/dev/tty1" ]] && \ export XKB_DEFAULT_LAYOUT="us" export XKB_DEFAULT_VARIANT="altgr-intl" export XKB_DEFAULT_OPTIONS="caps:escape" exec ${pkgs.river}/bin/river ''; home.file.river_init = { executable = true; target = "${config.xdg.configHome}/river/init"; source = ./init; }; }