{ lib, config, pkgs, inputs, outputs, home-manager, ... }: with lib; let cfg = config.roles.citrix; citrixPkgs = import inputs.nixpkgs { system = pkgs.system; config = pkgs.config // { allowUnfree = true; allowInsecure = true; permittedInsecurePackages = ["libsoup-2.74.3"]; allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) ["libsoup-2.74.3"]; }; }; in { options.roles.citrix = {enable = lib.mkEnableOption "citrix tools";}; config = mkIf cfg.enable { nixpkgs.config.permittedInsecurePackages = ["libsoup-2.74.3"]; home-manager.users.don.home.packages = with citrixPkgs; [ citrix_workspace ]; home-manager.users.don.nixpkgs.config = { allowUnfree = true; allowInsecure = true; permittedInsecurePackages = ["libsoup-2.74.3"]; allowInsecurePredicate = pkg: builtins.elem (lib.getName pkg) ["libsoup-2.74.3"]; }; home-manager.users.don.home.file."ICAClient" = { recursive = true; source = ./files/citrix; target = ".ICAClient"; }; }; }