about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/in/incus/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/in/incus/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/in/incus/package.nix152
1 files changed, 104 insertions, 48 deletions
diff --git a/nixpkgs/pkgs/by-name/in/incus/package.nix b/nixpkgs/pkgs/by-name/in/incus/package.nix
index e02876407a7b..8a10f6eef7fd 100644
--- a/nixpkgs/pkgs/by-name/in/incus/package.nix
+++ b/nixpkgs/pkgs/by-name/in/incus/package.nix
@@ -1,50 +1,73 @@
-{ lib
-, incus-unwrapped
-, linkFarm
-, makeWrapper
-, stdenv
-, symlinkJoin
-, writeShellScriptBin
-, acl
-, apparmor-parser
-, apparmor-profiles
-, attr
-, bash
-, btrfs-progs
-, criu
-, dnsmasq
-, gnutar
-, gptfdisk
-, gzip
-, iproute2
-, iptables
-, OVMF
-, qemu_kvm
-, qemu-utils
-, rsync
-, spice-gtk
-, squashfsTools
-, util-linux
-, virtiofsd
-, xz
+{
+  lts ? false,
+
+  lib,
+  callPackage,
+  linkFarm,
+  makeWrapper,
+  stdenv,
+  symlinkJoin,
+  writeShellScriptBin,
+  acl,
+  apparmor-parser,
+  apparmor-profiles,
+  attr,
+  bash,
+  btrfs-progs,
+  cdrkit,
+  criu,
+  dnsmasq,
+  e2fsprogs,
+  getent,
+  gnutar,
+  gptfdisk,
+  gzip,
+  iproute2,
+  iptables,
+  kmod,
+  lvm2,
+  minio,
+  nftables,
+  OVMF,
+  qemu_kvm,
+  qemu-utils,
+  rsync,
+  spice-gtk,
+  squashfsTools,
+  thin-provisioning-tools,
+  util-linux,
+  virtiofsd,
+  xz,
 }:
 let
+  unwrapped = callPackage ./unwrapped.nix { inherit lts; };
+  client = callPackage ./client.nix { inherit lts; };
+  name = "incus${lib.optionalString lts "-lts"}";
+
   binPath = lib.makeBinPath [
     acl
     attr
     bash
     btrfs-progs
+    cdrkit
     criu
     dnsmasq
+    e2fsprogs
+    getent
     gnutar
     gptfdisk
     gzip
     iproute2
     iptables
+    kmod
+    lvm2
+    minio
+    nftables
     qemu_kvm
     qemu-utils
     rsync
     squashfsTools
+    thin-provisioning-tools
     util-linux
     virtiofsd
     xz
@@ -54,9 +77,7 @@ let
     '')
   ];
 
-  clientBinPath = [
-    spice-gtk
-  ];
+  clientBinPath = [ spice-gtk ];
 
   ovmf-2mb = OVMF.override {
     secureBoot = true;
@@ -82,24 +103,57 @@ let
   # mimic ovmf from https://github.com/canonical/incus-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378
   # also found in /snap/incus/current/share/qemu/ on a snap install
   ovmf = linkFarm "incus-ovmf" [
-    { name = "OVMF_CODE.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; }
-    { name = "OVMF_CODE.4MB.CSM.fd"; path = "${ovmf-4mb-csm.fd}/FV/${ovmf-prefix}_CODE.fd"; }
-    { name = "OVMF_CODE.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; }
-    { name = "OVMF_CODE.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; }
-
-    { name = "OVMF_VARS.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
-    { name = "OVMF_VARS.2MB.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
-    { name = "OVMF_VARS.4MB.CSM.fd"; path = "${ovmf-4mb-csm.fd}/FV/${ovmf-prefix}_VARS.fd"; }
-    { name = "OVMF_VARS.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
-    { name = "OVMF_VARS.4MB.ms.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
-    { name = "OVMF_VARS.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
-    { name = "OVMF_VARS.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    {
+      name = "OVMF_CODE.2MB.fd";
+      path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd";
+    }
+    {
+      name = "OVMF_CODE.4MB.CSM.fd";
+      path = "${ovmf-4mb-csm.fd}/FV/${ovmf-prefix}_CODE.fd";
+    }
+    {
+      name = "OVMF_CODE.4MB.fd";
+      path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd";
+    }
+    {
+      name = "OVMF_CODE.fd";
+      path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd";
+    }
+
+    {
+      name = "OVMF_VARS.2MB.fd";
+      path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
+    {
+      name = "OVMF_VARS.2MB.ms.fd";
+      path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
+    {
+      name = "OVMF_VARS.4MB.CSM.fd";
+      path = "${ovmf-4mb-csm.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
+    {
+      name = "OVMF_VARS.4MB.fd";
+      path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
+    {
+      name = "OVMF_VARS.4MB.ms.fd";
+      path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
+    {
+      name = "OVMF_VARS.fd";
+      path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
+    {
+      name = "OVMF_VARS.ms.fd";
+      path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
+    }
   ];
 in
 symlinkJoin {
-  name = "incus-${incus-unwrapped.version}";
+  name = "${name}-${unwrapped.version}";
 
-  paths = [ incus-unwrapped ];
+  paths = [ unwrapped ];
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -110,8 +164,10 @@ symlinkJoin {
   '';
 
   passthru = {
-    inherit (incus-unwrapped) tests;
+    inherit client unwrapped;
+
+    inherit (unwrapped) tests;
   };
 
-  inherit (incus-unwrapped) meta pname version;
+  inherit (unwrapped) meta pname version;
 }