diff --git a/nixos/tests/incus/ui.nix b/nixos/tests/incus/ui.nix
index 6ab9ad0dd731..27b90c218d78 100644
--- a/nixos/tests/incus/ui.nix
+++ b/nixos/tests/incus/ui.nix
@@ -15,13 +15,15 @@ import ../make-test-python.nix (
nodes.machine =
{ lib, ... }:
{
- virtualisation = {
- incus = {
- enable = true;
- package = if lts then pkgs.incus-lts else pkgs.incus;
- };
- incus.ui.enable = true;
+
+ virtualisation.incus = {
+ enable = true;
+ package = if lts then pkgs.incus-lts else pkgs.incus;
+
+ preseed.config."core.https_address" = ":8443";
+ ui.enable = true;
};
+
networking.nftables.enable = true;
environment.systemPackages =
@@ -63,16 +65,10 @@ import ../make-test-python.nix (
};
testScript = ''
- machine.wait_for_unit("sockets.target")
machine.wait_for_unit("incus.service")
- machine.wait_for_file("/var/lib/incus/unix.socket")
-
- # Configure incus listen address
- machine.succeed("incus config set core.https_address :8443")
- machine.succeed("systemctl restart incus")
# Check that the INCUS_UI environment variable is populated in the systemd unit
- machine.succeed("cat /etc/systemd/system/incus.service | grep 'INCUS_UI'")
+ machine.succeed("systemctl cat incus.service | grep 'INCUS_UI'")
# Ensure the endpoint returns an HTML page with 'Incus UI' in the title
machine.succeed("curl -kLs https://localhost:8443/ui | grep '
Incus UI'")
diff --git a/pkgs/by-name/in/incus-ui-canonical/package.nix b/pkgs/by-name/in/incus-ui-canonical/package.nix
index 85db4d3e10ed..74950f3344e7 100644
--- a/pkgs/by-name/in/incus-ui-canonical/package.nix
+++ b/pkgs/by-name/in/incus-ui-canonical/package.nix
@@ -1,6 +1,7 @@
{
lib,
stdenv,
+ fetchurl,
fetchFromGitHub,
fetchYarnDeps,
nodejs,
@@ -9,32 +10,31 @@
nixosTests,
git,
}:
-
+let
+ # this rarely changes https://github.com/zabbly/incus/blob/daily/patches/ui-canonical-renames.sed
+ renamesSed = fetchurl {
+ url = "https://raw.githubusercontent.com/zabbly/incus/0fa53811ff1043fd9f28c8b78851b60ca58e1b10/patches/ui-canonical-renames.sed";
+ hash = "sha256-f0vd/Xp/kBbZkg6CBM4cZPlwg5WUL/zv3mCAEmugzCE=";
+ };
+in
stdenv.mkDerivation rec {
pname = "incus-ui-canonical";
- version = "0.14.6";
+ version = "0.15";
src = fetchFromGitHub {
owner = "zabbly";
repo = "incus-ui-canonical";
- tag = "incus-${version}";
- hash = "sha256-An2mhIj3D2EdB1Bgnry1l2m6r/GIKTee4anSYNTq8B8=";
+ tag = version;
+ hash = "sha256-HqdaG51W7eUCGUhA+9pYrAWaA6qyK7Fc95CKJvk9GaA=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
- hash = "sha256-dkATFNjAPhrPbXhcJ/R4eIpcagKEwBSnRfLwqTPIe6c=";
- };
-
- zabbly = fetchFromGitHub {
- owner = "zabbly";
- repo = "incus";
- rev = "36714d7c38eb3cc3e4e821c7aed44e066e1e84ca";
- hash = "sha256-H6gjXmwCv3oGXrzn1NENfgO3CWXMnmp94GdJv2Q8n0w=";
+ hash = "sha256-O7oEAjmCEmPpsO/rdkZVhUkxhFzhHpPRbmci3yRBA7g=";
};
patchPhase = ''
- sed -i -f "$zabbly/patches/ui-canonical-renames.sed" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
+ find -type f -name "*.ts" -o -name "*.tsx" -o -name "*.scss" -o -name "*.html" | xargs sed -i -f ${renamesSed}
'';
nativeBuildInputs = [