An open API service indexing awesome lists of open source software.

https://github.com/pmiddend/tango-flake

Nix flake for the Tango controls system
https://github.com/pmiddend/tango-flake

nix nix-flake tango-controls

Last synced: 10 days ago
JSON representation

Nix flake for the Tango controls system

Awesome Lists containing this project

README

          

# tango-flake: use Tango from Nix(OS)

## What's packaged

- cpptango: 9.4, 9.10
- tango-idl: 5, 6
- tango-controls: 9.3, 9.4, 10.0

For tango-controls, we are using the TangoSourceDistribution instead of a more modular approach for now, as this is significantly less work (especially regarding packaging the Java applications like Jive, and getting their dependency closure).

## Usage

### As a package

Use the overlay provided in case you only need, for example, cpptango:

```nix
{
inputs.tango-controls.url = "git+https://gitlab.desy.de/cfel-sc-public/tango-flake";
inputs.flake-utils.url = "github:numtide/flake-utils";

outputs = { self, flake-utils, tango-controls }:
flake-utils.lib.eachDefaultSystem
(system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ tango-controls.overlays.default ];
};
in
{
pkgs.stdenv.mkDerivation {
buildInputs = [ pkgs.cpptango-9_4 ];
};
});
}
```

### On NixOS

If you're using flakes with NixOS, add the tango flake to your inputs:

```nix
inputs.tango-controls.url = "git+https://gitlab.desy.de/cfel-sc-public/tango-flake";
```

and then use the modules provided:

```nix
{ tango-controls }:

{
imports = [ tango-controls.nixosModules.tango-controls ];

services.tango-controls.enable = true;
services.mysql.package = pkgs.mariadb;
services.mysql.enable = true;
}
```