{ lib, config, pkgs, inputs, outputs, home-manager, ... }@args: with lib; let osConfig = if args ? osConfig then args.osConfig else args.config; cfg = if osConfig ? roles && osConfig.roles ? citrix then osConfig.roles.citrix else {enable = false;}; citrixPkgs = import inputs.nixpkgs { system = pkgs.system; config = pkgs.config // { allowUnfree = true; allowInsecure = true; }; }; in { config = mkIf cfg.enable { home.packages = with citrixPkgs; [ citrix_workspace ]; nixpkgs.config = { allowUnfree = true; allowInsecure = true; }; home.file."ICAClient" = { recursive = true; source = ./files/citrix; target = ".ICAClient"; }; }; }