{ pkgs, lib, ... }: let inherit (lib) getExe singleton ; in { xdg.portal = { config = { common = { default = [ "gtk" ]; }; }; enable = true; xdgOpenUsePortal = true; extraPortals = singleton pkgs.xdg-desktop-portal-gtk; }; services.xserver = { enable = true; windowManager = { xmonad.enable = true; xmonad.enableContribAndExtras = true; }; displayManager = { lightdm.enable = true; defaultSession = "none+xmonad"; }; libinput = { enable = true; }; xkb = { layout = "de,de,mine,us"; variant = "koy,neo_qwerty,mine,"; options = "ctrl:swap_lalt_lctl_lwin, altwin:menu_win, grp:sclk_toggle"; extraLayouts."neo_qwerty" = { description = "QWERTY neo2 layout."; languages = ["de"]; symbolsFile = ./qwerty_neo.xkb; }; extraLayouts."mine" = { description = "mine neo layout."; languages = ["de"]; symbolsFile = ./mine.xkb; }; }; }; hardware = { opengl.enable = true; opengl.driSupport32Bit = true; }; console.useXkbConfig = true; }