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

52 lines
1.4 KiB
Nix

{ pkgs, depot, lib, config, ... }:
{
imports = [ ./graphical-client.nix ];
home.packages = lib.mkAfter (with pkgs; [
swaylock
swayidle
wl-clipboard
waybar
mako
kanshi
qt5.qtwayland
]);
wayland.windowManager.sway = {
enable = true;
wrapperFeatures.gtk = true;
extraSessionCommands = ''
export SDL_VIDEODRIVER=wayland
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
export XDG_CURRENT_DESKTOP=sway
export MOZ_ENABLE_WAYLAND=1
export MOZ_USE_XINPUT2=1
'';
config = {
modifier = "Mod4";
keybindings = let
modifier = config.wayland.windowManager.sway.config.modifier;
in lib.mkOptionDefault {
"${modifier}+l" = "exec ${pkgs.swaylock}/bin/swaylock";
"${modifier}+p" = "exec ${depot.nix.pkgs.flameshot}/bin/flameshot gui";
"${modifier}+Return" = "exec ${pkgs.alacritty}/bin/alacritty";
};
startup = [
{ command = "${pkgs._1password-gui}/bin/1password"; notification = false; }
];
output."*".bg = "${depot.pkgs.lukegb-wallpapers}/lunik1-gruvbox-dark-rainbow.png fill";
# howl: tap-to-click
input."1739:24385:Synaptics_TM2438-005" = {
tap = "enabled";
tap_button_map = "lrm";
middle_emulation = "enabled";
};
};
};
my.alacritty.fontSize = 12;
}