{ pkgs, lib, config, ... }: { imports = [ ./client.nix ]; gtk = { enable = true; gtk3.extraConfig = { gtk-application-prefer-dark-theme = 1; }; }; qt = { enable = true; platformTheme = "gtk"; }; home.packages = lib.mkAfter (with pkgs; [ (chromium.override { enableVaapi = true; }) firefox mpv dino lutris pavucontrol pngquant rxvt_unicode teamspeak_client virtmanager xclip xss-lock yubioath-desktop ]); home.file."bin/screencap" = { executable = true; text = '' #!/usr/bin/env bash set -euxo pipefail import png:/dev/stdout | pngquant - | xclip -t image/png -selection clipboard -in ''; }; home.file.".xprofile".text = '' . "${config.home.profileDirectory}/etc/profile.d/hm-session-vars.sh" if [ -e "$HOME/.profile" ]; then . "$HOME/.profile" fi systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY XDG_DATA_DIRS XDG_RUNTIME_DIR XDG_SESSION_ID systemctl --user restart ssh-agent ''; xsession.windowManager.i3 = { enable = true; config = { modifier = "Mod4"; keybindings = let modifier = config.xsession.windowManager.i3.config.modifier; in lib.mkOptionDefault { "${modifier}+l" = "exec loginctl lock-session"; "${modifier}+p" = "exec screencap"; }; startup = [ { command = "xss-lock --transfer-sleep-lock -- i3lock --nofork"; notification = false; } { command = "${pkgs.gnome3.networkmanagerapplet}/bin/nm-applet"; notification = false; } ]; }; }; }