{ lib, config, pkgs, inputs, ... }: let inherit (lib) mkEnableOption mkIf optionals; cfg = config.desktops; in { imports = [ ./hyprland ./sway ]; config = mkIf cfg.enable { # desktop specific programs home.packages = with pkgs; [ # gtk adwaita-icon-theme # codecs libaacs libavif libbluray libjxl # xdg libnotify # fonts corefonts dejavu_fonts fira-code fira-code-symbols jetbrains-mono material-icons nerd-fonts.fira-code noto-fonts noto-fonts-cjk-sans noto-fonts-emoji twemoji-color-font vistafonts ] ++ (optionals config.desktops.wayland.enable [ # wayland cage grimblast wl-clipboard wl-clip-persist wl-mirror ]) ++ (with inputs.apple-fonts.packages.${pkgs.system}; [ # apple fonts sf-pro sf-mono sf-compact ]); fonts.fontconfig = { enable = true; defaultFonts = { serif = [ "Twemoji" "DejaVu Serif" ]; sansSerif = [ "Twemoji" "DejaVu Sans" ]; monospace = [ "Fira Code" "FiraCode Nerd Font Mono" "Font Awesome 6 Pro Regular" "Twemoji" "DejaVu Sans Mono" ]; emoji = [ "Twemoji" "Noto Color Emoji" ]; }; }; }; }