12 stdenv.mkDerivation rec {
16 src = fetchFromGitHub {
19 rev = "refs/tags/${version}";
20 hash = "sha256-DJLkXZpParmEYHbTpl6KFC9l9y5DqzUTrC0pb2dJXI4=";
23 offlineCache = fetchYarnDeps {
24 yarnLock = "${src}/yarn.lock";
25 hash = "sha256-ckTWE/czzvxbGOF8fsJ3W1sal7+NaHquoSjZSPjkGj4=";
28 zabbly = fetchFromGitHub {
31 rev = "c83023587eb0e3b01c99ba26e63f757ac15c6f9c";
32 hash = "sha256-cWKp4ALrae6nEBLvWcOM1T+Aca7eHLwsRguH9aSb10Y=";
36 for p in $zabbly/patches/ui-canonical*patch; do
37 echo "applying patch $p"
40 sed -i -f "$zabbly/patches/ui-canonical-renames.sed" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
53 export HOME=$(mktemp -d)
54 yarn config --offline set yarn-offline-mirror "$offlineCache"
55 fixup-yarn-lock yarn.lock
56 yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install
57 patchShebangs node_modules
78 passthru.tests.default = nixosTests.incus.ui;
81 description = "Web user interface for Incus, based on LXD webui";
82 homepage = "https://github.com/canonical/lxd-ui";
83 license = lib.licenses.gpl3;
84 maintainers = lib.teams.lxc.members;
85 platforms = lib.platforms.linux;