{ lib, pkgs, config, ... }: let inherit (lib) mkIf; cfg = config.desktops; full = !config.minimal; in { config = mkIf cfg.enable { # nix-ld programs.nix-ld.enable = true; # appimage programs.appimage = { enable = full; binfmt = true; }; # flatpak services.flatpak.enable = full; # services services.libinput.enable = config.desktops.wayland.enable; # gtk portal? programs.dconf.enable = true; # audio / video services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; jack.enable = true; }; hardware.graphics.enable = true; users.groups.audio.members = [config.user]; users.groups.video.members = [config.user]; # scheduling security.rtkit.enable = true; # printing services.printing = { enable = full; drivers = with pkgs; [ brlaser cnijfilter2 gutenprint ]; }; services.avahi = { enable = full; nssmdns4 = true; openFirewall = true; }; users.groups.lp.members = [config.user]; # secrets services.gnome.gnome-keyring.enable = full; # system fonts fonts.packages = with pkgs; [ corefonts vista-fonts ]; # yubikey support services = { pcscd.enable = full; udev.packages = with pkgs; [ yubikey-personalization ]; }; unfreePackages = [ "corefonts" "vista-fonts" "cnijfilter2" ]; }; }