{ pkgs, lib, config, ... }: { services.xserver = let commaSep = builtins.concatStringsSep ","; in with import ../theme.nix; { enable = true; layout = commaSep [ "de" "gr" "ru" ]; xkbVariant = commaSep [ "T3" "polytonic" "phonetic_winkeys" ]; xkbOptions = commaSep [ "terminate:ctrl_alt_bksp" "grp:alt_shift_toggle" ]; libinput.enable = true; xautolock = { enable = true; killer = "${pkgs.systemd}/bin/systemctl suspend"; locker = config.defaultApplications.locker; nowlocker = config.defaultApplications.locker; enableNotifier = true; notifier = ''${pkgs.libnotify}/bin/notify-send -u normal -a xautolock "Locking soon" "The screen will lock in 10 seconds."''; }; displayManager.sessionCommands = '' ${pkgs.feh}/bin/feh --bg-fill $(find ${../art} -type f | shuf -n 1) & ${pkgs.dropbox-cli}/bin/dropbox start & ${pkgs.seafile-client}/bin/seafile-applet & ${pkgs.systemd}/bin/systemctl --user import-environment XDG_SESSION_PATH ${pkgs.lightlocker}/bin/light-locker & ${pkgs.openssh}/bin/ssh-add ''; displayManager.lightdm.greeters.gtk = { enable = true; theme = { name = config.constants.theme.gtk.name; package = config.constants.theme.gtk.package; }; iconTheme = { name = config.constants.theme.icon.name; package = config.constants.theme.icon.package; }; indicators = [ "~spacer" "~host" "~spacer" "~session" "~power" ]; }; desktopManager.xterm.enable = false; windowManager.default = "i3"; windowManager.i3.enable = true; xrandrHeads = { homeros = [ "LVDS1" { output = "HDMI1"; primary = true; } ]; scardanelli = [ "eDP1" ]; }.${config.networking.hostName}; }; services.compton = { enable = true; shadow = true; menuOpacity = "0.9"; shadowOpacity = "0.3"; }; services.redshift = { enable = true; latitude = "52"; longitude = "13"; }; services.illum.enable = true; services.unclutter = { enable = true; timeout = 10; }; fonts.enableDefaultFonts = true; fonts.fonts = with pkgs; [ cantarell-fonts corefonts eb-garamond fira libertine lmodern noto-fonts powerline-fonts roboto xlibs.fontschumachermisc ubuntu_font_family ]; # packages for X environment.systemPackages = with pkgs; [ config.constants.theme.gtk.package config.constants.theme.icon.package config.constants.theme.cursor.package arandr libnotify xclip xorg.xkill wpa_supplicant_gui ] ++ [ # office abiword gnumeric # typora ] ++ [ # internet chromium firefox tor-browser-bundle-bin thunderbird ] ++ [ # media ffmpeg mpv pamixer pavucontrol gthumb sxiv blueman zathura ]; services.urxvtd.enable = true; services.dbus.packages = [ pkgs.gnome3.dconf ]; home-manager.users.kfm = { gtk = { enable = true; iconTheme = config.constants.theme.icon; theme = config.constants.theme.gtk; }; qt = { enable = true; useGtkTheme = true; }; xsession.pointerCursor = config.constants.theme.cursor // { size = 16; }; xsession.windowManager.i3 = { enable = true; config = import ../dot/i3.nix { inherit lib pkgs config; }; }; xresources.properties = import ../dot/xresources.nix { inherit lib; }; programs.rofi = import ../dot/rofi.nix { inherit config; }; services.dunst = import ../dot/dunst.nix { inherit pkgs config; }; programs.urxvt = import ../dot/urxvt.nix { inherit pkgs; }; programs.zathura = import ../dot/zathura.nix; home.file = { ".config/mpv/input.conf".text = import ../dot/mpv.nix; # ".config/Typora/themes/base.user.css".text = import ../dot/typora.nix; }; }; }