depot/ops/nixos/lib/home-manager/graphical-client.nix

54 lines
1.1 KiB
Nix

{ 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
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
'';
};
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; }
];
};
};
}