depot/ops/nixos/lib/home-manager/graphical-client.nix
Luke Granger-Brown cb4ba45b1b hm/graphical-client: enable nm-applet
I'm assuming (probably wrongly) that anything using my graphical-client preset
is _also_ using NetworkManager, which is probably true for real client machines
but may not be true on terminal services machines which also end up with this
preset.

Whatever, I'll work it out later.
2020-12-19 19:25:15 +00:00

67 lines
1.6 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.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 = "nm-applet"; notification = false; }
];
};
};
}