nix/modules/stuff/xserver.nix

42 lines
1,013 B
Nix
Raw Normal View History

2024-08-01 21:22:47 +02:00
{ lib, pkgs, config, ...}: let
inherit (lib) mkIf mkEnableOption mkOption;
cfg = config.chuj.stuff.xserver;
in {
options.chuj.stuff.xserver = {
enable = mkEnableOption "xserver";
libinput = mkEnableOption "libinput";
2024-08-01 21:22:47 +02:00
};
config = mkIf cfg.enable {
services = {
xserver = {
enable = true;
xkb.layout = "pl";
# autoRepeatDelay = 180;
# autoRepeatInterval = 50;
# ^ this doesn't work
displayManager.sessionCommands = ''
${pkgs.xorg.xset}/bin/xset r rate 180 50
'';
};
};
environment.systemPackages = with pkgs; [
xclip
xorg.xkill
xorg.xev
xdotool
];
services.libinput = if cfg.libinput then {
enable = true;
touchpad = {
naturalScrolling = false; # it's reversed on my laptop for some reason
tapping = true;
tappingButtonMap = "lmr";
scrollMethod = "edge";
};
} else { enable = lib.mkForce false; }; # fuck you
2024-08-01 21:22:47 +02:00
};
}