{ config, lib, pkgs, ... }: let cfg = config.sys.srv.files; in { options.sys.srv.files = { thunar.enable = lib.mkEnableOption "enables the thunar file manager"; utils.enable = lib.mkEnableOption "enables compression and trash utilities"; }; config = lib.mkMerge [ { sys.srv.files.utils.enable = lib.mkDefault cfg.thunar.enable; } (lib.mkIf cfg.thunar.enable { programs.thunar = { enable = true; plugins = with pkgs.xfce; [ thunar-volman thunar-archive-plugin thunar-vcs-plugin ]; }; services = { tumbler.enable = true; gnome.gnome-keyring.enable = true; }; environment.systemPackages = with pkgs; [ file-roller ]; }) (lib.mkIf cfg.utils.enable { services.gvfs.enable = true; environment.systemPackages = with pkgs; [ trashy gdu unzip p7zip unrar pxz pigz ]; }) ]; }