Citrix Workspace installation

Hi,

I hope I’m in a right place, been searching for most appropriate thread to post this, and it seems to me that this is it.

I have a problem when I follow the instructions given at Nixpkgs 23.11 manual | Nix & NixOS because it is not clear to me what to do to acomplish the following: "In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using symlinkJoin [the code follows in the link above] "
Where should i implement this solution with symlinkJoin?
And also, when I try to open my citrix environment with wfica it shows the “libpcsclite.so is not installed”. I installed ‘pcsclite’ package through global config (on my arch install it was enough to just install it). I suppose that in Nixos citrix package doesn’t know where to look for this lib, so it must be specified, but I don’t know where. Can somebody help with that?

Thank you everyone in advance, I am still struggling with understanding the concept of nixos, so if there is a manual page clarifying this topic be kind to send it to me, I’d also like to learn more about the way Nix and Nixos handle packages. But will also appreciate clear quick-fix for the problem above.

Hi @savorocks,

i’m quite new to NixOS myself, but had to tackle this problem today too.
This is what i got it to work with:

Put somewhere into configuration.nix:

  nixpkgs.overlays = [
      ( self: super:
        let 
          extraCerts = [ ./path/to/certificate.crt ];
        in { 
          citrix_workspace = super.citrix_workspace.override  {
            inherit extraCerts;
          };
        }
      )
  ];

As far, as i understand it, this creates an overlay with an overridden definition of the package, which in turn sets this extraCerts parameter, mentioned in the docs. This (on nixos-rebuild switch) seems to rebuild the package though, instead of creating a symlinkJoined one from the original package plus the certificate. But as this “extra rebuild” only happens when the certificate is changed, which for CAs at least is almost never, i can live with that.

Hope this helps you or some future fellow-beginner, stumbling over this :smiley:

You can also do environment.systemPackages = [ (citrix_workspace.override {}) ]; btw.

Also, in case somebody wants to take over the package, see citrix_workspace: remove myself (ma27) from maintainer list by Ma27 · Pull Request #114910 · NixOS/nixpkgs · GitHub for further context :slight_smile:

Ah. Yeah, thanks! That’s indeed quite a bit shorter to write.

Regarding the maintainer thing:
I use citrix_workspace every day at work for accessing some Windows applications from my Linux workstation. I am quite new to NixOS. Maybe half a year since migrating my personal machine after some years of Arch. And just yesterday i took the step to migrate my work workstation from Arch to NixOS. I would though consider putting myself up to the challenge, as this may be the best way to learn and grow with NixOS :smiley:

As I mentioned in the PR, I’m happy to help my successor if needed. Do you already have an entry in maintainers/maintainer-list.nix? I’d just add you there and merge the PR then I guess :slight_smile:

Sounds good to me.
I don’t have an entry yet. My info is:

pmenke = {
    email = "nixos@pmenke.de";
    github = "pmenke-de";
    githubId = 898922;
    name = "Philipp Menke";
    keys = [{
      longkeyid = "rsa4096/0xEB7F2D4CCBE23B69";
      fingerprint = "ED54 5EFD 64B6 B5AA EC61 8C16 EB7F 2D4C CBE2 3B69";
    }];
};
1 Like

@pmenke citrix_workspace: remove myself (ma27) from maintainer list by Ma27 · Pull Request #114910 · NixOS/nixpkgs · GitHub :slight_smile:

Thanks a lot!

If the diff looks fine to you and ofborg is finished, I’d merge :slight_smile: