2019-05-04 13:47:21 +02:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.machine;
|
|
|
|
ifelse = a: b: c: if a then b else c;
|
|
|
|
in mkIf (elem "desktop" cfg.services) {
|
|
|
|
programs.sway = mkIf (elem "sway" cfg.desktop.wms) # (import ./desktop/sway.nix { inherit pkgs; });
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
file i3status dmenu
|
|
|
|
qt5.qtwayland
|
|
|
|
grim slurp
|
|
|
|
swaylock
|
|
|
|
swayidle
|
|
|
|
light
|
|
|
|
mako
|
|
|
|
wl-clipboard
|
|
|
|
wf-recorder
|
|
|
|
];
|
|
|
|
extraSessionCommands = ''
|
|
|
|
export GDK_BACKEND=wayland
|
|
|
|
export CLUTTER_BACKEND=wayland
|
|
|
|
export SDL_VIDEODRIVER=wayland
|
|
|
|
# needs qt5.qtwayland in systemPackages
|
|
|
|
export QT_QPA_PLATFORM=wayland-egl
|
|
|
|
export QT_WAYLAND_FORCE_DPI=physical
|
|
|
|
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
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2019-09-05 15:24:54 +02:00
|
|
|
services.gvfs.enable = true;
|
2019-05-04 13:47:21 +02:00
|
|
|
environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.gvfs}/lib/gio/modules" ];
|
|
|
|
services.xserver = {
|
|
|
|
enable = !(elem "sway" cfg.desktop.wms);
|
|
|
|
layout = "de";
|
|
|
|
videoDrivers = [ "intel" ];
|
|
|
|
windowManager = mkIf (cfg.desktop.wms != []) {
|
|
|
|
i3 = mkIf (elem "i3" cfg.desktop.wms) (import ./desktop/i3.nix { inherit pkgs; });
|
|
|
|
default = elemAt cfg.desktop.wms 0;
|
|
|
|
};
|
|
|
|
# add switch for Lilim
|
2019-06-22 20:49:17 +02:00
|
|
|
multitouch = {
|
|
|
|
enable = true;
|
|
|
|
invertScroll = true;
|
|
|
|
};
|
2019-05-04 13:47:21 +02:00
|
|
|
libinput = {
|
|
|
|
enable = true;
|
|
|
|
tapping = true;
|
|
|
|
disableWhileTyping = false;
|
|
|
|
naturalScrolling = false;
|
|
|
|
horizontalScrolling = true;
|
|
|
|
};
|
|
|
|
# Still waiting for streamlined dpi settings... will write a propper solution once it's done >.<
|
|
|
|
# see https://github.com/NixOS/nixpkgs/pull/25892
|
|
|
|
dpi = ifelse (cfg.hostName == "Lilim") 192 null;
|
|
|
|
};
|
|
|
|
}
|