48 lines
1.1 KiB
Nix
48 lines
1.1 KiB
Nix
{ pkgs, ... }:
|
|
|
|
let xwayland-sway =
|
|
(pkgs.writeScriptBin "Xwayland-sway" ''
|
|
#! ${pkgs.bash}/bin/bash
|
|
exec ${pkgs.xwayland}/bin/Xwayland "$@" -hidpi
|
|
'');
|
|
in
|
|
{
|
|
programs.sway = {
|
|
enable = true;
|
|
wrapperFeatures = {
|
|
base = true;
|
|
gtk = true;
|
|
};
|
|
extraSessionCommands = ''
|
|
# SDL:
|
|
export SDL_VIDEODRIVER=wayland
|
|
# QT (needs qt5.qtwayland in systemPackages):
|
|
export QT_QPA_PLATFORM=wayland-egl
|
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
|
# Fix for some Java AWT applications (e.g. Android Studio),
|
|
# use this if they aren't displayed properly:
|
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
|
export WLR_XWAYLAND=${xwayland-sway}/bin/Xwayland-sway
|
|
export WLR_RENDERER=vulkan
|
|
'';
|
|
extraPackages = with pkgs; [
|
|
brightnessctl
|
|
grim
|
|
swayidle
|
|
swaylock
|
|
wmenu
|
|
mako
|
|
waybar
|
|
poweralertd
|
|
lxsession
|
|
networkmanagerapplet
|
|
wofi
|
|
wlogout
|
|
slurp
|
|
];
|
|
};
|
|
|
|
environment.systemPackages = [
|
|
xwayland-sway
|
|
];
|
|
}
|