grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / virtualisation / incus-agent.nix
blobbfb9eeb75d3339e0da1b24e6e9d0701287382e11
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
8 let
9   cfg = config.virtualisation.incus.agent;
12   meta = {
13     maintainers = lib.teams.lxc.members;
14   };
16   options = {
17     virtualisation.incus.agent.enable = lib.mkEnableOption "Incus agent";
18   };
20   config = lib.mkIf cfg.enable {
21     services.udev.packages = [ config.virtualisation.incus.package.agent_loader ];
22     systemd.packages = [ config.virtualisation.incus.package.agent_loader ];
24     systemd.services.incus-agent = {
25       enable = true;
26       wantedBy = [ "multi-user.target" ];
28       path = [
29         pkgs.kmod
30         pkgs.util-linux
32         # allow `incus exec` to find system binaries
33         "/run/current-system/sw"
34       ];
36       # avoid killing nixos-rebuild switch when executed through incus exec
37       restartIfChanged = false;
38       stopIfChanged = false;
39     };
40   };