{ config, lib, pkgs, ... }: let inherit (lib) mkIf mkMerge mkThenElse; annuaire = config.r6d.machines; currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in /** * Il faut activer `services.xserver.enable = true;` dans configuration.nix */ mkIf currentMachine.profiles.isDesktopEnvironment { # Services # Enable the X11 windowing system. services.xserver = { # enable = true; layout = "fr"; xkbOptions = "eurosign:e"; displayManager.lightdm.enable = true; windowManager.awesome.enable = true; inputClassSections = ['' Identifier "Marble Mouse" MatchProduct "Logitech USB Trackball" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" # Physical button #s: A b D - - - - B C b = A & D simultaneously; - = no button #Option "ButtonMapping" "1 8 3 4 5 6 7 2 2" # For right-hand placement #Option "ButtonMapping" "3 8 1 4 5 6 7 2 2" # For left-hand placement # EmulateWheel refers to emulating a mouse wheel using Marble Mouse trackball. Option "EmulateWheel" "true" Option "EmulateWheelButton" "8" # Factory default; use "9" for left-side placement. # EmulateWheelInertia specifies how far (in pixels) the pointer must move to # generate button press/release events in wheel emulation mode. Option "EmulateWheelInertia" "10" # Factory default: 50 Option "ZAxisMapping" "4 5" Option "XAxisMapping" "6 7" # Disable this for vertical-only scrolling. # Emulate3Buttons refers to the act of pressing buttons A and D # simultaneously to emulate a middle-click or wheel click. Option "Emulate3Buttons" "true" # Factory default. '']; }; }