{ config, lib, pkgs, ... }: let cfg = config.os.srv.files; in { options.os.srv.files = { enable = lib.mkEnableOption "enables general file management stuff"; localsend.enable = lib.mkEnableOption "enables localsend for sharing files locally"; krusader.enable = lib.mkEnableOption "enables krusader for easier file moving using ssh"; }; config = lib.mkMerge [ (lib.mkIf cfg.enable { programs.thunar = { enable = true; plugins = with pkgs; [ ffmpegthumbnailer libgsf poppler freetype webp-pixbuf-loader thunar-volman thunar-archive-plugin ]; }; services = { tumbler.enable = true; gvfs.enable = true; }; environment.systemPackages = with pkgs; [ file-roller dua pxz pigz ]; }) (lib.mkIf cfg.localsend.enable { programs.localsend = { enable = true; openFirewall = true; }; }) (lib.mkIf cfg.krusader.enable { environment.systemPackages = with pkgs; [ krusader kdePackages.kio-extras ]; }) ]; }