nixos-config/nixos/components/gui/xorg/default.nix

80 lines
1.6 KiB
Nix
Raw Normal View History

2019-10-24 02:20:38 +02:00
{ config, pkgs, lib, ... }:
with lib;
2021-11-01 09:20:42 +01:00
{
2019-10-24 02:20:38 +02:00
2023-04-26 09:09:26 +02:00
imports = [ ./xlock.nix ];
2023-02-17 00:41:22 +01:00
config = mkIf config.components.gui.enable {
2019-10-24 02:20:38 +02:00
2023-06-30 20:59:11 +02:00
# system.custom.fonts.enable = true;
2023-02-17 00:59:29 +01:00
2019-10-24 02:20:38 +02:00
services.xserver = {
enable = true;
2021-03-06 18:11:11 +01:00
displayManager = {
2022-10-12 16:58:38 +02:00
defaultSession = lib.mkDefault "none+i3";
2021-03-06 18:11:11 +01:00
autoLogin.enable = lib.mkDefault true;
2023-02-17 00:41:22 +01:00
autoLogin.user = config.users.users.mainUser.name;
2021-03-06 18:11:11 +01:00
lightdm.enable = lib.mkDefault true;
};
desktopManager = {
xterm.enable = false;
};
2019-10-24 02:20:38 +02:00
windowManager = {
xmonad.enable = true;
xmonad.enableContribAndExtras = true;
2020-09-03 00:08:52 +02:00
i3.enable = true;
2019-10-24 02:20:38 +02:00
};
# mouse/touchpad
# --------------
libinput = {
enable = true;
2021-07-08 20:43:14 +02:00
touchpad = {
disableWhileTyping = true;
tapping = true;
scrollMethod = "twofinger";
2023-02-27 16:40:23 +01:00
accelSpeed = "1.3";
naturalScrolling = true;
horizontalScrolling = true;
2021-07-08 20:43:14 +02:00
};
2019-10-24 02:20:38 +02:00
};
};
# Packages
# --------
2019-12-20 05:54:26 +01:00
environment.systemPackages = with pkgs; [
2019-10-24 02:20:38 +02:00
2023-02-17 00:59:29 +01:00
xclip
xtrlock-pam
xorg.xev
2019-10-24 02:20:38 +02:00
dmenu
arandr
xcalib
flameshot
feh
];
# Xresources config
# -----------------
# spread the Xresource config
# across different files
# just add a file into `/etc/X11/Xresource.d/` and it will be
# evaluated.
services.xserver.displayManager.sessionCommands = ''
for file in `ls /etc/X11/Xresource.d/`
do
${pkgs.xorg.xrdb}/bin/xrdb -merge /etc/X11/Xresource.d/$file
done
'';
environment.etc."/X11/Xresource.d/.keep".text = "";
};
}