summary refs log tree commit diff
path: root/pkgs/tools/admin
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-06-13 11:03:26 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2020-06-13 11:03:26 +0200
commit2e4b4e33002f28c0a2551c1cde09632ac2987008 (patch)
tree4e96356d858101b1f8dfecd528d4436e15506cb9 /pkgs/tools/admin
parentc8d064eec16122db9a727c0bba971c2bf80a6bc0 (diff)
parent1523382160220d7cd1fc6a7ff91b6eeb8ce5dc02 (diff)
downloadnixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.tar
nixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.tar.gz
nixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.tar.bz2
nixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.tar.lz
nixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.tar.xz
nixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.tar.zst
nixpkgs-2e4b4e33002f28c0a2551c1cde09632ac2987008.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/tools/admin')
-rw-r--r--pkgs/tools/admin/lxd/default.nix26
1 files changed, 18 insertions, 8 deletions
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 43cd243561b..562149414b3 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -1,13 +1,21 @@
 { stdenv, hwdata, pkgconfig, lxc, buildGoPackage, fetchurl
 , makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq
-, squashfsTools, iproute, iptables, ebtables, libcap, libco-canonical, dqlite
-, raft-canonical, sqlite-replication, udev
+, squashfsTools, iproute, iptables, ebtables, iptables-nftables-compat, libcap
+, libco-canonical, dqlite, raft-canonical, sqlite-replication, udev
 , writeShellScriptBin, apparmor-profiles, apparmor-parser
 , criu
 , bash
 , installShellFiles
+, nftablesSupport ? false
 }:
 
+let
+  networkPkgs = if nftablesSupport then
+    [ iptables-nftables-compat ]
+  else
+    [ iptables ebtables ];
+
+in
 buildGoPackage rec {
   pname = "lxd";
   version = "4.2";
@@ -38,12 +46,14 @@ buildGoPackage rec {
     # test binaries, code generation
     rm $out/bin/{deps,macaroon-identity,generate}
 
-    wrapProgram $out/bin/lxd --prefix PATH : ${stdenv.lib.makeBinPath [
-      acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute iptables ebtables bash criu
-      (writeShellScriptBin "apparmor_parser" ''
-        exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
-      '')
-    ]}
+    wrapProgram $out/bin/lxd --prefix PATH : ${stdenv.lib.makeBinPath (
+      networkPkgs
+      ++ [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute bash criu ]
+      ++ [ (writeShellScriptBin "apparmor_parser" ''
+             exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
+           '') ]
+      )
+    }
 
     installShellCompletion --bash go/src/github.com/lxc/lxd/scripts/bash/lxd-client
   '';