{ config, pkgs, lib, ... }: let theme = import ../modules/theme; in { services = { xserver = { enable = true; xkbOptions = "caps:escape"; displayManager = { lightdm = { enable = true; greeters.gtk = { enable = true; theme = theme.gtkTheme pkgs; }; background = theme.wallpaper; }; defaultSession = "none+i3"; }; windowManager.i3.enable = true; }; udev.packages = [ pkgs.yubikey-personalization ]; pcscd.enable = true; gnome.gnome-keyring.enable = true; # For remembering nextcloud login, among other things gvfs.enable = true; # For Trash }; environment.systemPackages = with pkgs; [ yubioath-flutter ]; environment.sessionVariables = { # GTK Theme won't display with GTK4 (e.g. nautilus) otherwise # Doesn't work in some scenarios, such as open containing folder in Firefox, when declared in home.sessionVariables GTK_THEME = (theme.gtkTheme pkgs).name; }; # Enable OpenTabletDriver, GUI configurator is otd-gui hardware.opentabletdriver.enable = true; # To prevent `Unit dconf.service not found.` after theming GTK in HM programs.dconf.enable = true; sound.enable = true; hardware.pulseaudio.enable = true; nixpkgs.config.pulseaudio = true; fonts = { enableDefaultFonts = false; fonts = with pkgs; [ # noto-fonts-cjk doesn't display in Discord for some reason # mplus-outline-fonts.osdnRelease is no longer updated and is now mplus-outline-fonts.githubRelease, # but で renders weird for some reason in the GitHub release, so I'm sticking to OSDN mplus-outline-fonts.osdnRelease noto-fonts (nerdfonts.override { fonts = [ "FiraCode" ]; }) # required for icons (pkgs.callPackage ../modules/twemoji {}) ]; }; }