{ pkgs, pkgs-unstable, ... }: let commands = import ../../../../lib/commands.nix { inherit pkgs; }; inherit (commands) swaymsg lock; in { xdg = { configFile."libinput-gestures.conf".text = '' gesture pinch in 3 sh -c "echo key ctrl+w | ${pkgs.dotool}/bin/dotool" gesture swipe left 3 ${swaymsg} workspace prev gesture swipe right 3 ${swaymsg} workspace next gesture swipe down 3 ${swaymsg} move container to scratchpad gesture swipe up 3 ${swaymsg} fullscreen gesture swipe down 4 ${lock} gesture pinch out 3 ${swaymsg} floating toggle gesture pinch in 4 ${swaymsg} kill ''; configFile."electron-flags.conf".text = '' --enable-features=WaylandWindowDecorations,AllowQt --ozone-platform=wayland --gtk-version=4 ''; mimeApps = { enable = true; defaultApplicationPackages = [ pkgs.gnome-text-editor pkgs.evince pkgs.vlc pkgs.loupe pkgs.nautilus pkgs-unstable.chromium ]; defaultApplications = { "text/*" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; "application/xml" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; "application/json" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ]; "application/pdf" = [ "${pkgs.evince}/share/applications/org.gnome.Evince.desktop" ]; "video/*" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; "audio/*" = [ "${pkgs.vlc}/share/applications/vlc.desktop" ]; "text/html" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; "application/xhtml+xml" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; "application/x-web-app-manifest+json" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; "application/xml-dtd" = [ "${pkgs.chromium}/share/applications/chromium.desktop" ]; "image/*" = [ "${pkgs.loupe}/share/applications/org.gnome.Loupe.desktop" ]; }; }; }; systemd.user.sessionVariables = { GNOME_DESKTOP_SESSION_ID = "999"; SHELL_THICCNESS = "LOW"; }; }