diff --git a/wm/sway/default.nix b/wm/sway/default.nix index 91b42b6..eda1a62 100644 --- a/wm/sway/default.nix +++ b/wm/sway/default.nix @@ -1,30 +1,15 @@ { config, pkgs, lib, ... }: - let - # bash script to let dbus know about important env variables and - # propogate them to relevent services run at the end of sway config - # see - # https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist - # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts - # some user services to make sure they have the correct environment variables dbus-sway-environment = pkgs.writeTextFile { name = "dbus-sway-environment"; destination = "/bin/dbus-sway-environment"; executable = true; - text = '' dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr ''; }; - - # currently, there is some friction between sway and gtk: - # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland - # the suggested way to set gtk settings is with gsettings - # for gsettings to work, we need to tell it where the schemas are - # using the XDG_DATA_DIR environment variable - # run at the end of sway config configure-gtk = pkgs.writeTextFile { name = "configure-gtk"; destination = "/bin/configure-gtk"; @@ -38,8 +23,6 @@ let gsettings set $gnome_schema gtk-theme 'Dracula' ''; }; - - in { environment.systemPackages = with pkgs; [ @@ -62,28 +45,10 @@ in 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; - }; - - # enable sway window manager programs.sway = { enable = true; wrapperFeatures.gtk = true; }; services.greetd.package = "greetd.wlgreet"; - } diff --git a/workstation/default.nix b/workstation/default.nix index 9d575b8..5ba3ea8 100644 --- a/workstation/default.nix +++ b/workstation/default.nix @@ -124,7 +124,12 @@ in }; security.rtkit.enable = true; - xdg.portal.enable = true; # only needed if you are not doing Gnome + xdg.portal = { + enable = true; + wlr.enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + #gtkUsePortal = true; + }; users.users.don = { isNormalUser = true;