I have started to use a new notebook and installed Fedora Linux on it. It works all very well but I have to use teamviewer for my work. The problem is on Linux only teamviewer 12 works with team meetings. So how to install teamviewer 12 on Fedora Linux?

First I downloaded an older version of the official teamviewer in rpm format. But after I installed it the GUI doesn't work. I tried also the Debian package and convert it to an rpm format but also no look and I have the same problem.

Then I remembered that I used nix as my package manager on NixOS. So I downloaded nix which is described on their homepage. Then I wrote the package description to use an older version of teamviewer which is described on their source code repository. Just download this version an write some small config.

  {pkgs}:

  {
    allowUnfree = true; 
    packageOverrides = super: let self = super.pkgs; in with self; rec {
      teamviewer = callPackage /home/odi/teamviewer12.nix {};
    };
  } 

The downloaded packages description is in home/odi/teamviewer12.nix. Teamviewer has an unfree license that means we have to add allowUnfree to our config to give the package manager the hint to use also unfree packages. This config will be stored in *$HOME.config/nixpkgs/config.nix*. Now its time to install teamviewer on the system.

  $ nix-env -iA nixpkgs.teamviewer

Don't worry that this install destroys some libraries on your system, it installes all it's dependencies in the directory /nix and makes some symlinks in the $HOME directory.

After finishing teamviewer and it's dependencies we have to start the daemon with

  $ sudo -E env "PATH=$PATH" teamviewerd

and then the program itself.

  $ teamviewer

And it works very well for me!