grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / programs / envision.nix
blob56acd83d7daf8a9c4ad1c1288fd4450f777ce1a1
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
8 let
9   cfg = config.programs.envision;
13   options = {
14     programs.envision = {
15       enable = lib.mkEnableOption "envision";
17       package = lib.mkPackageOption pkgs "envision" {};
19       openFirewall = lib.mkEnableOption "the default ports in the firewall for the WiVRn server" // {
20         default = true;
21       };
22     };
23   };
25   config = lib.mkIf cfg.enable {
26     services.avahi = {
27       enable = true;
28       publish = {
29         enable = true;
30         userServices = true;
31       };
32     };
34     services.udev = {
35       enable = true;
36       packages = with pkgs; [
37         android-udev-rules
38         xr-hardware
39       ];
40     };
42     environment.systemPackages = [ cfg.package ];
44     networking.firewall = lib.mkIf cfg.openFirewall {
45       allowedTCPPorts = [ 9757 ];
46       allowedUDPPorts = [ 9757 ];
47     };
48   };
50   meta.maintainers = pkgs.envision.meta.maintainers;