{ config, lib, pkgs, ... }: let cfg = config.custom.roles.desktop; in { options.custom.roles.desktop.enable = lib.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf cfg.enable { custom = { programs.symlinks.enable = true; users.vili.enable = true; }; environment.systemPackages = with pkgs; [ alacritty vlc flameshot speedcrunch ]; services = { displayManager = { autoLogin.enable = true; autoLogin.user = "vili"; }; xserver = { enable = true; displayManager = { lightdm.enable = true; sessionCommands = ''${pkgs.xorg.xrdb}/bin/xrdb -merge < ${ (import ../programs/embedded/xresources.conf { inherit pkgs; }) }''; }; }; pipewire.enable = false; pulseaudio.enable = true; }; nixpkgs.config.pulseaudio = true; security.polkit.enable = true; xdg.mime.defaultApplications = { "application/pdf" = "org.gnome.Evince.desktop"; "text/plain" = "org.xfce.mousepad.desktop"; "text/x-tex" = "org.kde.kile.desktop"; "inode/directory" = "pcmanfm.description"; }; qt = { enable = true; style = "adwaita-dark"; platformTheme = "gnome"; }; }; }