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
- Host: GitHub
- URL: https://github.com/pmiddend/tango-flake
- Owner: pmiddend
- Created: 2025-01-17T07:21:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-17T07:22:06.000Z (over 1 year ago)
- Last Synced: 2025-03-06T01:53:32.130Z (about 1 year ago)
- Topics: nix, nix-flake, tango-controls
- Language: Nix
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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;
}
```